Ok, ich fragte Anfang dieser Woche nach diesem Fehler und hatte einige sehr hilfreiche Antworten und ohne Zweifel haben sich die Dinge drastisch verbessert, seit ich anfing, den Vorschlägen zu folgen.ExecuteReader benötigt eine offene und verfügbare Verbindung. Der aktuelle Status der Verbindung ist geschlossen
Allerdings verwende ich jetzt die "korrekte", bewährte Methode, um auf die Datenbank zuzugreifen. Ich erhalte immer noch diesen Fehler bei einigen Funktionen, und ich kann ihn nicht für diesen Block verschwinden lassen. Hier ist mein Code:
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
Nun, egal was ich tue, erhalte ich: ExecuteReader erfordert eine offene und verfügbare Verbindung. Der aktuelle Status der Verbindung ist geschlossen. auf dieser Verbindung. Ich habe Funktionen mit Objekten, die in dieser Klasse das gleiche genannt werden (cmd, dr usw.), aber die Verwendung schließt sich selbst, nicht wahr?
Vorschläge willkommen :)