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 и т. Д.), Но использование закрывает после себя, не так ли?

Предложения приветствуются :)

Ответы на вопрос(3)

Ваш ответ на вопрос