Я использовал, чтобы закрыть открытую DataReader с помощью TRY/поймать/наконец блок:.NET MySql делает «Использование» закрывает datareader?
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
Но я думаю, что это должно быть чисты (и несколько быстрее) использовать «Использование» VB ключевым слово:
Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")
End Using
' dr is surely disposed, but is it closed?
Выполняет ли интерфейс IDispose (требуется с помощью) Close на DataReader?
Я считаю, что он унаследован от IDataReader, наследующего IDisposable. Я вполне уверен, что это поведение, которое Microsoft будет применять. – IAbstract