좋아, 이번 주 초에이 오류에 대해 매우 많이 물어 보았고 몇 가지 도움이되는 답변을 얻었으며 제안을 따르기 시작한 이후의 모든 사항이 크게 개선되었습니다.ExecuteReader에는 열려 있고 사용 가능한 Connection이 필요합니다. 연결의 현재 상태가 닫혔습니다
그러나 지금은 데이터베이스에 액세스하기 위해 '올바른'최상의 방법을 사용하고 있는데 일부 기능에서이 오류가 발생하며 해당 블록에서 사라질 수는 없습니다. 여기 내 코드는 다음과 같습니다.
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는 열려 있고 사용 가능한 Connection이 필요합니다. 연결의 현재 상태가 닫힙니다. 이 연결에. 나는이 클래스 (cmd, dr 등) 내에서 같은 것으로 불리는 객체를 가진 함수를 가지고있다. 그러나 사용은 스스로를 닫는다.
제안 환영 :)