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:
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:
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);
} |