IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[c#]erreur : La connexion n'est pas fermée.


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut [c#]erreur : La connexion n'est pas fermée.
    Bonsoir,
    j'essaie de supprimer un enregistrement dans une base de donnée à partir d'un click sur bouton dont voilà le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    protected void OnItemCommand(Object sender, RepeaterCommandEventArgs e)
            {
     
                SqlCommand myCommand;
                SqlConnection cnx = (SqlConnection)Session["cnx"];
                string SQL = "DELETE FROM Commande WHERE ID_Commande = "+e.CommandArgument;
                myCommand = new SqlCommand(SQL, cnx);
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection = cnx;
                cnx.Open();
                myCommand.ExecuteNonQuery();
                cnx.Close();
     
            }
    mais il me sort un erreur en me disant :
    La connexion n'est pas fermée. L'état actuel de la connexion est ouvert.
    alors que c'est pas le cas
    Merci de m'aider à trouver le bug

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonsoir,

    Le fait que tu stockes ta connexion en Session a de très grande chance d'être la source du problème. Ce n'est pas une bonne pratique. Le mieux serait que ta couche d'accès aux données ouvre puis ferme une connexion le plus rapidement possible. Tu peux aussi regarder du côté du pooling.

    Autres remarques qui te seront utiles :

    • Pense à utiliser l'instruction using afin de mieux gérer la mémoire (par exemple sur tes objets SqlConnection, SqlCommand)
    • L'accès aux donnés ne devrait pas se faire dans ta page ASP.NET. C'est une très mauvaise pratique.
    • La construction de ta requête SQL est dangereuse d'un point de vue sécurité. Qui sait ce que peut contenir le CommandArgument ? Utilise des SqlParameters.

    En espérant t'avoir aidé.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2014, 16h05
  2. [Débutant] erreur "La connexion n'est pas fermée"
    Par bouchra19 dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/07/2012, 18h37
  3. Erreur : ce code n'est pas connu
    Par ruman dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/02/2006, 11h37
  4. Erreur : La classe n'est pas enregistrée
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/08/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo