以下のコードをご覧ください。
Private objCommand As SQLCommand
Public Overrides Function ExecuteDataReader(ByVal strCommandType As String, ByVal sqlCommandString As String) As DbDataReader
Dim objDR As SqlDataReader
Try
_objCon = getConnection()
_objCon.Open()
Using _objCon
Using _objCommand
_objCommand.Connection = _objCon
_objCommand.CommandText = sqlCommandString
_objCommand.CommandType = strCommandType
objDR = _objCommand.ExecuteReader
ExecuteDataReader = objDR
End Using
End Using
Catch ex As Exception
Throw
Finally
_objCon = Nothing
_objCommand.Dispose()
_objCommand = Nothing
objDR = Nothing
End Try
End Function
はDataReader
、接続オブジェクトが閉じられると閉じられるため、closed が返されます。DataReader
接続オブジェクトはどのように存続できますか?
同様の質問を探したところ、次の質問が見つかりました: DataReader not closed when Connection is closed, results? . しかし、それは私の特定の質問には答えません。