.NET MySql ne « Utilisation » ferme la datareader?
-
01-10-2019 - |
Question
Je fermais un datareader ouvert à l'aide du 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
Mais je pense qu'il devrait être plus propre (et un peu plus rapide) d'utiliser le « Utilisation » VB mot-clé:
Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")
End Using
' dr is surely disposed, but is it closed?
Est-ce que l'interface IDispose (nécessaire à l'aide) effectuer une proximité sur le DataReader?
La solution
L'objet est disposé. Oui, cela ferme le DataReader.
Autres conseils
lecteur sera fermé, mais ce n'est pas nécessaire pour la connexion de base de données, car il est la superposer géré avec le pool de connexions ADO.NET. Cochez cette réponse pour plus d'informations: C # MySqlConnection ne se ferme pas
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow