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 :

Affichage de tables d'une base de données dans un DataGridView [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2018
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Affichage de tables d'une base de données dans un DataGridView
    Bonjour, je développe actuellement un programme pour un serveur de jeu avec une liste de joueurs à surveiller, je passe donc par une base de données avec 4 colonnes : joueur steamid raison et statut

    J'ai donc mis en place un bouton pour actualiser cette liste mais le problème est le suivant :
    Quand je clique sur le bouton, au lieu de m'afficher toutes les lignes, il ne s'affiche que la dernière..

    Screens : http://prntscr.com/iz3uck et http://prntscr.com/iz3uez

    Mon 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    private void actualisation()
            {
     
                dataGridView1.Rows.Clear();
                try
                {
                    if (cnx.State == ConnectionState.Closed)
                    { cnx.Open(); }
                }
                catch (Exception ex) { MessageBox.Show(ex.Message); }
     
                if(cnx.State == ConnectionState.Open)
                {
                    cnx.Close();
                    cnx.Open();
                    try
                    {
                        string insertQuery = "select * from surveillance";
                        MySqlCommand myCommand = new MySqlCommand(insertQuery, cnx);
                        reader = myCommand.ExecuteReader();
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                dataGridView1.Rows.Clear();
                                dataGridView1.Rows.Add(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), reader[3].ToString());
     
                            }
                            reader.Close();
                        }
                    }
                    catch (InvalidOperationException)
                    {
                    }
     
                }
            }
    EDIT : Problème résolu ,voici le code que j'ai utilisé et j'ai du également recréer un datagridview

    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
     
     try
                {
                    DataSet ds = new DataSet();
                    ds.Tables.Clear();
                    dataGridView1.Refresh();
                    MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM surveillance", cnx);
                    adapter.Fill(ds, "surveillance");
                    dataGridView1.DataSource = ds.Tables["surveillance"];
                    contextMenuStrip1.Enabled = true;
                    supprimerToolStripMenuItem.Enabled = false;
                    joueurBanniToolStripMenuItem.Enabled = true;
                    joueurCleanToolStripMenuItem.Enabled = true;
                    joueurBanniToolStripMenuItem1.Enabled = true;
                    editionToolStripMenuItem.Enabled = true;
                    adapter.Dispose();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

  2. #2
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Je ne sais pas si tu as repéré ton erreur, mais au cas où elle se situe à la ligne 26 de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     while (reader.Read())
                            {
                                dataGridView1.Rows.Clear(); // <=== ici
                                dataGridView1.Rows.Add(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), reader[3].ToString());
     
                            }
    Tu vides tout simplement ta liste à chaque ligne que tu insères, du coup tu effectivement plus que la dernière ajoutée.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2018
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Noxen Voir le message
    Je ne sais pas si tu as repéré ton erreur, mais au cas où elle se situe à la ligne 26 de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     while (reader.Read())
                            {
                                dataGridView1.Rows.Clear(); // <=== ici
                                dataGridView1.Rows.Add(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), reader[3].ToString());
     
                            }
    Tu vides tout simplement ta liste à chaque ligne que tu insères, du coup tu effectivement plus que la dernière ajoutée.
    Effectivement je viens de capter... je pensais l'avoir mis avant x) merci beaucoup

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/09/2017, 11h02
  2. [PDO] Affichage de la table d'une base de donnée
    Par Firlfire dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2015, 12h30
  3. [MySQL] affichage des tables d'une base de donnée
    Par drawerJ dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/11/2008, 12h45
  4. affiché une base de donnée dans un dataGridView
    Par abbd dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/01/2008, 11h01
  5. Réponses: 5
    Dernier message: 10/01/2008, 08h47

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