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 :

Vider un datagridView


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut Vider un datagridView
    Bonjour,

    je repasse vous voir pour un nouveau probleme

    J'ai une form1 qui contient mon code select:
    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
            public Boolean selectClient()
            {
                try //Procédure de test 
                {
                    //Création de la commande 
                    string selectCommand = "SELECT * FROM contact;";
     
                    maSelectCommand.SelectCommand = new MySqlCommand(selectCommand, myConnectionRessource);
                    maSelectCommand.Fill(ds);
     
                    dataGridView1.DataSource = ds.Tables[0];
                    dataGridView1.Refresh();
     
                    infosActionLabel.Text = "Liste des contacts chargé avec succès"; //Informations a l'utilisateur du succès 
     
                    return true;
                }
                catch (MySqlException myEx) //Erreur 
                {
                    infosActionLabel.Text = "Error " + myEx.GetType() + " : Impossible de lister les contacts"; //Information à l'utilisateur de l'erreur 
     
                    return false;
                }
            }
    Vous l'aurez compris, jme connect a ma base de donnée pour insérer dans mon datagridview1 les données. Ca fonctionne niquel.

    J'ai maintenant une form 2 qui contient la commande insert de MySQL:

    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
     public Boolean insertContact()
            {
                string sName = txtAddName.Text;
                string sFirstName = txtAddFirstName.Text;
                string sAdress = txtAddAdress.Text;
                string sSpa = txtAddNpa.Text;
                string sCity = txtAddCity.Text;
                string sTelPriv = txtAddTelPriv.Text;
                string sTelProf = txtAddTelProf.Text;
                string sEmail = txtAddEmail.Text;
     
                MySqlCommand insertDonnees = new MySqlCommand();
                insertDonnees.CommandText = "INSERT INTO contact(id, name, firstName, adress, npa, ville, tel_private, tel_prof, email) VALUES('', '" + sName + "',  '" + sFirstName + "', '" + sAdress + "', '" + sSpa + "', '" + sCity + "', '" + sTelPriv + "', '" + sTelProf + "', '" + sEmail + "');";
     
                try
                {
                    insertDonnees.Connection = myConnectionRessource;
     
                    MySqlCommand insertExecuter = new MySqlCommand();
                    MySqlDataReader executer = insertDonnees.ExecuteReader();
     
                    MessageBox.Show("Donnée ajouté avec succès à la table.");
                    executer.Close();
     
                    this.Close();
     
                    fenetrePrincipale.selectClient();
     
                    return true;
                }
                catch (MySqlException myEx)
                {
                   infoConnection.Text = "Error: " + myEx.GetType() + " Impossible d'ajouté les données";
     
                    return false;
                }
            }
    .

    La encore, ca fonctionne, mes données ce rajoute.

    Le soucis réside que la liste s'affiche deja au _LOAD_ du programme. et donc mon datagridview n'est pas vide.

    Comme une fois que j'ai insert, je vais chercher le code select de la form1,
    mon datagridview va insérer a nouveau la liste sans supprimer l'enseigne.

    Ce qui fais que j'aurai 2x chaque donnée de ma database +1x le dernier que je viens d'insérer.

    Je veux donc éviter les doublons.

    J'ai procédé avec un DataGridView1.Rows.Clear();
    mais il me dit "Impossible d'effacer cette liste."

    Comment puis-je donc faire?

    Merci de l'attention porté à mon message

    Kiwi

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Et avec DataGridView1.Clear() ça marche pas ?

    Ton post est pas d'une limpidité exemplaire... si tu veux de l'aide tu ferais bien d'expliquer ton problème plus clairement !

    EDIT: au fait, pour un update, insert ou delete, n'utilise pas ExecuteReader mais plutôt ExecuteNonQuery (ça retourne le nombre de lignes modifiées/insérées/supprimées)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    scuse: edit
    ->dataGridView1.clear() n'existe pas.


    edit:
    Erreur 1 'System.Windows.Forms.DataGridView' ne contient pas de définition pour 'clear'

    Jveux juste vidé mon datagridview lorsque j'insère des donnée, pui relancer le select pour éviter les doublons.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu pars pas dans la bonne voie à mon avis... tu devrais plutot insérer les données dans le DataSet plutôt que directement dans la base

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    comment tu fais ca? parceque mnt que j'arrive à tout insérer, sa m'emmerde un peu de tout retouché.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Aucune idée... j'utilise jamais les DataSet, je préfère attaquer la base directement en SQL.

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

Discussions similaires

  1. Vider un DatagridView
    Par amirad dans le forum Windows Forms
    Réponses: 8
    Dernier message: 11/05/2009, 17h35
  2. Vider un DataGridView en entier
    Par mehdiyou dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/04/2008, 21h19
  3. [VB] Vider un DATAGRIDVIEW
    Par stephane77fr dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/04/2008, 14h19
  4. [c#] Vider un datagridview
    Par Destiny dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/08/2007, 10h15
  5. [vb 2005]Vider un datagridview
    Par estelledany dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/06/2006, 13h10

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