2009-05-21 5 views
3

Kürzlich arbeitete ich an einem Projekt in VB.NET, und ich stieß auf ein mysteriöses Problem mit einigen der DB-Verbindungen. Das war ein Projekt, das ich von jemandem geerbt sonst und sie so etwas wie diese benutzt hatte:CommandBehavior.SingleRow bewirkt, dass die DB-Verbindung offen bleibt?

Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection And CommandBehavior.SingleRow) 
//after reading data 
reader.Close() 

Es scheint, als ob dies war die Verbindung verursacht die ganze Zeit nicht mehr korrekt zu schließen. Ich habe das CommandBehavior.SingleRow entfernt, und es scheint jetzt in Ordnung zu sein, aber ich habe mich gefragt, ob jemand anderes das schon bemerkt hat? Weiß jemand, warum das nicht funktionieren würde? Ich habe schon CommandBehaviors auf diese Weise kombiniert gesehen, aber dieses Problem hat es noch nie zuvor verursacht.

Antwort

4

Wenn Flags Kombination, verwenden Sie die OR Operator statt UND:

Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection Or CommandBehavior.SingleRow) 
Verwandte Themen