ExecuteReader nécessite une Connexion ouverte et disponible. La connexion est fermée

Ok, j'ai demandé à propos de cette erreur plus tôt cette semaine et a eu quelques très des réponses utiles, et sans doute les choses ont considérablement amélioré depuis que j'ai commencé à suivre les suggestions.

Cependant, maintenant, je suis en utilisant le "correcte", la meilleure méthode pratique pour accéder à la base de données, j'obtiens toujours cette erreur sur certaines fonctions et je ne parviens pas à disparaître pour le 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-je obtenir: ExecuteReader nécessite une Connexion ouverte et disponible. La connexion est fermée. sur cette connexion. Je ne disposer de fonctions avec des objets appelés la même chose au sein de cette classe (cmd, le docteur, etc.) mais l'Aide se ferme après que lui-même n'est-ce pas?

Suggestions sont les bienvenus 🙂

OriginalL'auteur dooburt | 2009-05-08