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

Windows Forms Discussion :

soucis requete de suppression winforms [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut soucis requete de suppression winforms
    Bonjour , depuis hier je debug avec les points d’arrêt de VS mais je vois pas le soucis avec la suppression mais il me dit "suppression effectuée" comme ce que j'ai écris dans mon Messagebox mais il n'y a pas de suppression ni dans la listbox ni dans ma base . voici 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
    17
    private void suppression_Click(object sender, EventArgs e)
            {
                cx.Open();
                cmd.CommandText= "delete from contact where nom='"+nom1.Text+"'and prenom='"+prenom1.Text+"'and adresse='"+adresse1.Text+"'and Telephone='"+telephone1.Text+"'and ville='"+ville1.Text+"'and sexe='"+sexe1.Text+"'";
                cmd.ExecuteNonQuery();
                cx.Close();
                MessageBox.Show("suppression effectuée ...");
     
                listContact();
                nom1.Text = "";
                prenom1.Text = "";
                adresse1.Text = "";
                telephone1.Text = "";
                ville1.Text = "";
                sexe1.Text = "";
     
            }
    Spirit Fighting .

  2. #2
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Je vais éviter de remettre en cause le code bien que je sois persuadé au vu de ce que je vois qu'il doit y avoir pas mal d'autres problèmes, mais avant tout, ExecuteNonQuery doit renvoyer un entier qui représente le nombre de lignes affectées, récupères cette valeur et on pourra continuer à investiguer et éventuellement te poster un code plus "joli"
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  3. #3
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Effectivement le resultat est 0 , je l'ai récupéré dans un label comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cx.Open();
      cmd.CommandText= "delete from contact where nom='"+nom1.Text+"'and prenom='"+prenom1.Text+"'and adresse='"+adresse1.Text+"'and Telephone='"+telephone1.Text+"'and ville='"+ville1.Text+"'and sexe='"+sexe1.Text+"'";
                int recup =  cmd.ExecuteNonQuery();
                result.Text =recup.ToString();
    (je suis débutant , si vous pouvez me donner les liens utiles aussi , j'en serais content)
    Spirit Fighting .

  4. #4
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Débutant ne te dispense pas de chercher, il existe une fonction rechercher dans le forum et aussi sur Google. Bref, une recherche de requêtes sql paramétrées + c# →solution...

    Ps : copie la requête dans ton analyseur de requête lié à ton sgbd et compare avec tes données
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Au delà des requêtes paramétrées qui sont cela dit très utiles; ne peux tu pas accéder à ton contact par un id plutôt que de passer tous les champs et de prier pour que le serveur SQL reconnaisse un contact avec toutes ces infos ?
    Ça serait plus pertinent...

    Moi je prends les paris sur un champ qui comporte une simple cote -> ' et qui met le bazar.

  6. #6
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Bonjour , Je ne fais que chercher Pourtant ... Pas de soucis , je vais continuer a chercher , Merci pour ses éclaircissements .
    Spirit Fighting .

  7. #7
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Mes efforts sont enfin récompensés !!! Merci , je commence a découvrir .
    ca marche avec une bonne recherche
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    private void suppression_Click(object sender, EventArgs e)
            {
     
     
                string maRequete = "delete from contact where nom=@nom";
                cmd = new SqlCommand(maRequete, cx);
                cmd.Parameters.Add(new SqlParameter("@nom", SqlDbType.VarChar, 25));
                cmd.Parameters["@nom"].Value = nom1.Text;
                try
                {
                    cmd.Connection.Open();
                   int recup=cmd.ExecuteNonQuery();
                    cmd.Connection.Close();
                    result.Text = recup.ToString();
                    MessageBox.Show("suppression effectuée ...");
                    listContact();
                    nom1.Text = "";
                    prenom1.Text = "";
                    adresse1.Text = "";
                    telephone1.Text = "";
                    ville1.Text = "";
                    sexe1.Text = "";
     
                }
                catch (SqlException ex)
                {
                    System.Console.Write(ex.Message);
                }
    Spirit Fighting .

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Attention à ne pas supprimer plusieurs contacts qui portent le même nom avec cette requête.
    Je ne crois pas me tromper en disant qu'il est conseillé d'utiliser les id dans ton cas.
    Qqe chose du genre "delete from contact where id = @id" où @id = 23 ?
    La tu es sûr qu'on parle bien de CE contact et non pas de Mr toto michel ou de Mr titi michel qui portent le même nom.

  9. #9
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Je sais , c’était juste pour tester avec le nom . Après je vais juste le remplacer par id
    Spirit Fighting .

  10. #10
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    re Bonjour , un autre petit soucis . il me dit que la connexion n'est pas fermée or je pense l'avoir bien fermée . Merci pour tout éclairage .
    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
    17
    18
    19
    20
    try
                {
                    cmd.Connection.Open();
                     cmd.ExecuteNonQuery();
                    //result.Text = recup.ToString();
                    cmd.Connection.Close();                
                    MessageBox.Show("modification effectuée ...");
                    cmd.Connection.Close();                
                    listContact();
                    nom1.Text = "";
                    prenom1.Text = "";
                    adresse1.Text = "";
                    telephone1.Text = "";
                    ville1.Text = "";
                    sexe1.Text = "";
                }
                catch (SqlException ex)
                {
                    System.Console.Write(ex.Message);
                }
    Spirit Fighting .

  11. #11
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Sauf si tu as eu une exception, le close ne se fait pas...

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    string maRequete = "delete from contact where nom=@nom";
                try
                {
                    cmd = new SqlCommand(maRequete, cx);
                    cmd.Parameters.Add(new SqlParameter("@nom", SqlDbType.VarChar, 25));
                    cmd.Parameters["@nom"].Value = nom1.Text;
                    cmd.Connection.Open();
                    int recup=cmd.ExecuteNonQuery();
                    result.Text = recup.ToString();
                    MessageBox.Show("suppression effectuée ...");
                    listContact();
                    nom1.Text = "";
                    prenom1.Text = "";
                    adresse1.Text = "";
                    telephone1.Text = "";
                    ville1.Text = "";
                    sexe1.Text = "";
     
                }
                catch (SqlException ex)
                {
                    System.Console.Write(ex.Message);
                }
                finally
                {
                    cmd.Dispose();
                    cx.Close();
                }
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  12. #12
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    cela ne se ferme toujours pas et malgré que je me suis inspiré de votre code puis remis mon ancien ... il me dit toujours que ce n'est pas fermée
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    private void modification_Click(object sender, EventArgs e)
            {
                string maRequete = "update from contact set nom=@nom,prenom=@prenom,adresse=@adresse,Telephone=@telephone,ville=@ville,sexe=@sexe ";
                cmd = new SqlCommand(maRequete, cx);
                cmd.Parameters.Add(new SqlParameter("@nom", SqlDbType.VarChar, 25));
                cmd.Parameters.Add(new SqlParameter("@prenom", SqlDbType.VarChar, 25));
                cmd.Parameters.Add(new SqlParameter("@adresse", SqlDbType.VarChar, 25));
                cmd.Parameters.Add(new SqlParameter("@telephone", SqlDbType.VarChar, 25));
                cmd.Parameters.Add(new SqlParameter("@ville", SqlDbType.VarChar, 25));
                cmd.Parameters.Add(new SqlParameter("@sexe", SqlDbType.VarChar, 25));
     
                cmd.Parameters["@nom"].Value = nom1.Text;
                cmd.Parameters["@prenom"].Value = prenom1.Text;
                cmd.Parameters["@adresse"].Value = adresse1.Text;
                cmd.Parameters["@telephone"].Value = telephone1.Text;
                cmd.Parameters["@ville"].Value = ville1.Text;
                cmd.Parameters["@sexe"].Value = sexe1.Text;
     
                try
                {
                    cmd.Connection.Open();
                     cmd.ExecuteNonQuery();
                    //result.Text = recup.ToString();
                    cmd.Connection.Close();
                    cmd.Dispose();
                    cx.Close();
     
                    MessageBox.Show("modification effectuée ...");
                    cmd.Connection.Close();                
                    listContact();
                    nom1.Text = "";
                    prenom1.Text = "";
                    adresse1.Text = "";
                    telephone1.Text = "";
                    ville1.Text = "";
                    sexe1.Text = "";
                }
                catch (SqlException ex)
                {
                    System.Console.Write(ex.Message);
                }
            }
        }
    }
    Spirit Fighting .

  13. #13
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    La connexion est fermée au moins deux fois.

    Une fois par l'appel à la méthode Close de l'object Connection sous-jacent à la commande :
    cmd.Connection.Close();et une autre fois par appel à la méthode Close sur la variable contenant la connexion elle même :
    cx.Close();(car cx, je suppose qu'il s'agit de la connexion .... ).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  14. #14
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Pourtant c'est ce que j'ai fait je l'ai au moins fermé 2 fois , ce qui m’étonne , l'insertion , la suppression marchent nickel sauf la mise a jour
    Spirit Fighting .

  15. #15
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Points : 104
    Points
    104
    Par défaut
    Merci de toute façon pour tout , J'ai résolu 90% des soucis .
    A bientôt
    Spirit Fighting .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur dans une requete de suppression
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 28/04/2006, 12h09
  2. Requete de suppression et lecture seule
    Par mamoure31 dans le forum Access
    Réponses: 24
    Dernier message: 08/01/2006, 18h33
  3. Requete de suppression
    Par nicoaix dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2006, 14h30
  4. Requetes de suppression en cascade
    Par log2n dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 20/05/2005, 10h07
  5. Requete de suppression avec en condition une date
    Par PrinceMaster77 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/04/2004, 09h23

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