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

C# Discussion :

supprimer une ligne dans mon Datagridview


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut supprimer une ligne dans mon Datagridview
    bonjour!
    je desire supprimer une ligne selectionnée après clic de mon button suppression.
    je vous donne le code de mon button suppression.

    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
     
        private void button7_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("Etes vous sur de suprimer l'enregistrement selectionné(s)?",
                    "Erreur de suppression", MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false)
                    == DialogResult.Yes){
                    string queryString = "SELECT * FROM [Hotel_DB].[dbo].[Personnel]";
                    try{
     
                       using (SqlConnection connection = new SqlConnection(Variable_Methode_Global.GetConnectionString())){
                       connection.Open();
                       Variable_Methode_Global.da = new SqlDataAdapter(queryString, connection);
                       Variable_Methode_Global.ds = new DataSet();
                       Variable_Methode_Global.da.Fill(Variable_Methode_Global.ds, "Personnel");
     
                       int cnt = dgview_Personnel.SelectedRows.Count;
                       for (int i = 0; i < cnt; i++){
                        if (this.dgview_Personnel.SelectedRows.Count > 0 && this.dgview_Personnel.SelectedRows[0].Index != this.dgview_Personnel.Rows.Count - 1){
     this.dgview_Personnel.Rows.RemoveAt(this.dgview_Personnel.SelectedRows[0].Index);
                                }
                            }
     
                       Variable_Methode_Global.da.Update(Variable_Methode_Global.ds.Tables["Personnel"]);
     
     
     
                        }
     
                    }
                    catch (Exception pb){
                        MessageBox.Show(pb.Message);
                    }
     
                }
    il s'efface dans dans mon datagrivew, mais il reste toujrs dans la base sqlserver.

    Merci pour l'aide Cordialement solaar!

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Tu es sur d'avoir une methode delete dans ton code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM  FROM [Hotel_DB].[dbo].[Personnel] WHERE id = this.dgview_Personnel.SelectedRows[0].Index

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 40
    Par défaut
    Et n'oublie pas d'utiliser le "DataSet.AcceptChanges()" juste après l'execution de la requête de suppression...

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour initialiser la propriété UpdateCommand du DataAdapter, il me semble qu'on peut procéder ainsi:

    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable_Methode_Global.da = new SqlDataAdapter(queryString, connection);
    Ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SqlCommandBuilder custCB = 
        new SqlCommandBuilder ( Variable_Methode_Global.da );

  5. #5
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    excuse moi je fais quoi avec le custCB, je suis un peu novice alors doucement.
    Merci

  6. #6
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    bon voilà!
    j'ai testé celui de xian21.
    mais j'ai un message d'erreur qui me dis fermer la connection le code modifier.

    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
    if (MessageBox.Show("Etes vous sur de suprimer l'enregistrement selectionné(s)?",
                    "Erreur de suppression", MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false)
                    == DialogResult.Yes){
                    string queryString = "DELETE FROM [Hotel_DB].[dbo].[Personnel] WHERE [Code Réceptionniste] = '" + this.dgview_Personnel.SelectedRows[0].Index + "'";
                    try{
                        using (SqlConnection connection = new SqlConnection(Variable_Methode_Global.GetConnectionString())){
                       connection.Open();
                       SqlCommand command = new SqlCommand(queryString, connection);
                       connection.Open();
                       int Nbligneupdate = command.ExecuteNonQuery();
                       MessageBox.Show("" + Nbligneupdate + "e Mise à jour efffectuée");
     
                         }
     
                    }
                    catch (Exception ex){
                        MessageBox.Show(ex.Message);
                    }
     
                }

    Merci pour l'aide

  7. #7
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    L'association d'un CommandBuilder avec le dataAdapter génére les UpdateCommand, DeleteCommand et AddCommand en fonction de la SelectCommand créée via l'instruction " Variable_Methode_Global.da = new SqlDataAdapter(queryString, connection)".

    Si la SelectCommand est modifiée, on fera Cb.RefreshSchema().
    Sinon, Cb ne sert plus une fois le constructeur exécuté.

    Cb étant référencé par le DataAdapter, il ne sera désalloué que lorsque le dataAdapter sera lui-même libéré.

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

Discussions similaires

  1. supprimer une ligne dans un datagridview
    Par thib42 dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/04/2008, 18h31
  2. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43
  3. Supprimer une ligne dans un fichier
    Par tsing dans le forum Linux
    Réponses: 4
    Dernier message: 06/02/2006, 14h45
  4. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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