今週のこのエラーについて尋ねました。非常に有益な回答がありました。ExecuteReaderには、オープンで使用可能な接続が必要です。接続の現在の状態は閉じています
しかし、今私はデータベースにアクセスするために「正しい」ベストプラクティスの方法を使用していますが、私はまだこのエラーをいくつかの関数で受け取り、そのブロックでは消えることはできません。今に関係なく、私は私が得る何
Public Shared Function doesBasketExist(ByVal baskethash As String) As Boolean
Dim _r As Boolean
Using db As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("pitstopConnectionString").ConnectionString)
Using cmd As New SqlCommand("doGetBasketByHash", db)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@baskethash", baskethash)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows() = True Then
_r = True
Else
_r = False
End If
dr.Close()
End Using
End Using
End Using
Return _r
End Function
:ここに私のコードではないのExecuteReaderがオープンし、利用可能な接続が必要です。接続の現在の状態は閉じられています。これに関連して。私は、このクラス(cmd、drなど)内で同じものと呼ばれるオブジェクトを持つ関数を持っていますが、Useはそれ自身の後で閉じますか?
提案歓迎:)