Je suis l'affiche originale de la question référencée (connexion perdue) et je n'ai jamais réussi à la comprendre. En fin de compte, je l'ai attribué au mauvais vaudou, j'ai sacrifié la propreté et j'ai opté pour quelque chose comme
bool readerHasRows=false;
while(reader.reader())
{
readerHasRows=true;
doStuffOverAndOver();
}
if (!readerHasRows)
{
probablyBetterShowAnErrorMessageThen();
}
Ce qui était vraiment bizarre, c'est que cela fonctionnait dans une page aspx et pas dans une autre malgré que les blocs de code soient presque identiques sauf la procédure stockée utilisée.
Inutile de dire que j'évite désormais .HasRows;)
MODIFIER - Management Studio affiche également des messages dans l'onglet messages de la procédure de problème dans mon projet. Cela semble donc être la cause du problème. Mais pourquoi cela ferait-il chier .HasRows ? ?
EDIT2 - Confirmé, modifié la requête pour éviter les messages d'avertissement et .hasrows est maintenant vrai.