.NET MySql nicht „Verwendung“ schließt das Datareader?
-
01-10-2019 - |
Frage
Ich habe eine offene Datareader mit der try / catch / finally-Block zu schließen:
Dim dr As MySqlDataReader = Nothing
Try
dr = DBConnection.callReadingStoredProcedure("my_sp")
Catch ex As Exception
' the caller will handle this
Throw ex
Finally
If dr IsNot Nothing Then dr.Close()
End Try
Aber ich denke, es ist sauberer sein sollte (und etwas schneller), um die „Verwendung“ VB Schlüsselwort zu verwenden:
Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")
End Using
' dr is surely disposed, but is it closed?
Ist die IDispose Schnittstelle (erforderlich mithilfe) durchführen Schließen auf dem Datareader?
Lösung
Das Objekt wird entsorgt werden. Ja, schließt dies das Datareader.
Andere Tipps
wird Reader geschlossen werden, aber dies ist nicht erforderlich, Unterlegen Datenbank-Verbindung, weil sie mit ADO.NET Connection-Pool verwaltet werden. Überprüfen Sie diese Antwort für weitere Informationen: C # MySqlConnection nicht schließen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow