sql >> Database >  >> RDS >> Sqlserver

Is er een fout in SqlDataReader.HasRows bij het uitvoeren van SQL Server 2008?

Ik ben de originele poster van de gerefereerde vraag (verloren login) en ben er nooit in geslaagd om erachter te komen. Uiteindelijk schreef ik het toe aan slechte voodoo, offerde netheid op en ging met zoiets als

bool readerHasRows=false;
while(reader.reader())
{
   readerHasRows=true;
   doStuffOverAndOver();
}
if (!readerHasRows)
{
   probablyBetterShowAnErrorMessageThen();
}

Wat echt raar was, was dat het op de ene aspx-pagina werkte en niet op een andere, ondanks dat de codeblokken bijna identiek waren, behalve de gebruikte opgeslagen procedure.

Onnodig te zeggen dat ik vanaf nu .HasRows vermijd;)

BEWERKEN - Management Studio toont ook berichten in het berichtentabblad over de probleemprocedure in mijn project. Dat lijkt dus de oorzaak van het probleem te zijn. Maar waarom zou het .HasRows??

. verpesten

EDIT2 - Bevestigd, de zoekopdracht gewijzigd om de waarschuwingsberichten te vermijden en .hasrows is nu waar.



  1. mysql transactie - mix insert &selecteer om last_insert_id te verkrijgen?

  2. Voorbeelden van het converteren van 'smalldatetime' naar 'datetime' in SQL Server (T-SQL)

  3. Problemen met inloggen op mysql als niet-root

  4. Updates voor het JSON-veld blijven niet bestaan ​​in DB