Jestem oryginalnym autorem wspomnianego pytania (utracony login) i nigdy nie udało mi się tego rozgryźć. W końcu odłożyłem to na złe voodoo, poświęciłem schludność i poszedłem z czymś takim
bool readerHasRows=false;
while(reader.reader())
{
readerHasRows=true;
doStuffOverAndOver();
}
if (!readerHasRows)
{
probablyBetterShowAnErrorMessageThen();
}
Naprawdę dziwne było to, że działał na jednej stronie aspx, a nie na innej, mimo że bloki kodu były prawie identyczne, jak używana procedura składowana.
Nie trzeba dodawać, że od teraz unikam .HasRows;)
EDYTUJ - Management Studio wyświetla komunikaty w zakładce komunikatów w procedurze problemu w moim projekcie. Więc to wydaje się być przyczyną problemu. Ale po co miałby zepsuć .HasRows??
EDYTUJ2 - Potwierdzono, zmieniono zapytanie, aby uniknąć komunikatów ostrzegawczych, a .hasrows jest teraz prawdziwe.