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
Vous devez vous connecter pour publier un commentaire.
Je pense que vous avez oublié d'ouvrir la connexion.
L'ouvrir avant de cette ligne:
Aide -
OriginalL'auteur Kirtan
Vous réellement oublié de
Open
connexion:OriginalL'auteur Anton Gogolev
Une raison à cela serait que votre connexion n'a pas pu être ouverture à tous. Ce que jamais d'exception qui est venue à la "SqlConnection.Ouvrir" instruction est supprimé. Si le problème n'est pas dans votre application, il se pourrait que le serveur n'est pas en mesure de vous accorder une connexion. Peut-être parce que d'une connexion fuite dans votre application ou dans certaines autres bases de données sont hébergés sur le même serveur.
OriginalL'auteur Syed Salman Akbar