.NET MySql non “Uso” chiude la datareader?
-
01-10-2019 - |
Domanda
Ho usato per chiudere un DataReader aperto utilizzando il try / catch / finally:
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
Ma penso che dovrebbe essere più pulito (e un po 'più veloce) per utilizzare il "Uso" VB parola chiave:
Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")
End Using
' dr is surely disposed, but is it closed?
Il dell'interfaccia IDispose (richiesto utilizzando) eseguire un Chiudere sul DataReader?
Soluzione
L'oggetto viene smaltito. Sì, questo chiude il DataReader.
Altri suggerimenti
Reader sarà chiuso, ma questo non è necessario per la connessione al database underlaying perché è gestito con pool di connessioni ADO.NET. Controllare questa risposta per ulteriori informazioni: C # MySqlConnection non si chiude
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow