Problème Base de données => Listbox
Bonjour, je suis en train de programmer un programme utilisant une base de données access, j'aimerais mettre dans une listbox les objets que je lis dans une table de ma base.
donc voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Users user = new Users(); //Objet correspondant a ma table
Bd Bd = new Bd(); // Classe s'occupant des connexions
Bd.Open(@"C:\Documents and Settings\Ardel\Bureau\C# - Application juin\Applic\bin\Debug\C#.mdb");
Requete = "SELECT * FROM COMPTE";
OleDbCommand Cmde = new OleDbCommand(Requete, Bd.Connection);
OleDbDataReader dr;
dr = Cmde.ExecuteReader();
while (dr.Read())
{
user.Name = dr[0].ToString();
user.Password = dr[1].ToString();
user.Right = dr[2].ToString();
MessageBox.Show(" Username: " + user.Name + " Password: " + user.Password + " Status: " + user.Right);
listBoxUsers.Items.Add(user);
} |
Le problème est qu'au moment de l'ajout mon messageBox.show me montre bien les différents objets de ma table. Mais après dans ma liste j'ai mes différents nom d'objet (j'ai surchargé la méthode ToString pour qu'il n'affiche que leurs noms), mais lorsque je fais ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| private void listBoxUsers_SelectedIndexChanged(object sender, EventArgs e)
{
Users user = new Users();
user = (Users)listBoxUsers.SelectedItem;
labelInformation.Text = listBoxUsers.SelectedIndex.ToString();
if (user != null)
{
labelDetail.Text = " Username: " + user.Name + " Password: " + user.Password + " Status: " + user.Right;
}
} |
Il m'affiche tous le temps le même objet, mais pourtant l'index change en fonctions de celui sur lequel je clique... ?
Je ne sais pas si la description du problème est suffisamment clair.
Merci à ceux qui liront :)