Ok, j'ai posé une question sur cette erreur plus tôt cette semaine et j'ai eu des réponses très utiles et sans aucun doute les choses se sont considérablement améliorées depuis que j'ai commencé à suivre les suggestions.ExecuteReader requiert une connexion ouverte et disponible. L'état actuel de la connexion est fermé
Cependant, maintenant j'utilise la méthode «correcte», la meilleure pratique pour accéder à la base de données, je reçois toujours cette erreur sur certaines fonctions et je n'arrive pas à la faire disparaître pour ce bloc. Voici mon 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
Maintenant, peu importe ce que je fais, j'obtiens: ExecuteReader nécessite une connexion ouverte et disponible. L'état actuel de la connexion est fermé. sur cette connexion. J'ai des fonctions avec des objets appelés la même chose dans cette classe (cmd, dr etc.) mais l'utilisation se ferme après elle-même, n'est-ce pas?
suggestions bienvenues :)