Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché ottengo un tentativo non valido di chiamare HasRows quando il lettore è chiuso con una connessione aperta?

Questo è un comportamento imprevisto in ExecuteReader() - molto probabilmente un bug. Nel profondo di ExecuteReader() si verifica un errore casuale, molto probabilmente un timeout di rete, la connessione viene chiusa e quindi un SqlDataReader chiuso viene restituito come se nulla fosse. Non c'è da stupirsi che la successiva chiamata a HasRows produce un'eccezione.