NET MySQL “Uso” cierra la datareader?
-
01-10-2019 - |
Pregunta
He utilizado para cerrar un DataReader abierto mediante el 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
Sin embargo, creo que debería ser más limpio (y un poco más rápido) para utilizar el "Uso" VB palabra clave:
Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")
End Using
' dr is surely disposed, but is it closed?
¿La interfaz de IDispose (necesarias mediante el uso) realizará un cierre en el DataReader?
Solución
El objeto se dispondrá. Sí, esto cierra el DataReader.
Otros consejos
Lector estará cerrada, pero esto no es necesario para la conexión a la base underlaying ya que se maneja con la agrupación de conexiones ADO.NET. Marque esta respuesta para más información: C # MySqlConnection no se cerrará
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow