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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Il m'affiche tous le temps le même objet, mais pourtant l'index change en fonctions de celui sur lequel je clique... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
Je ne sais pas si la description du problème est suffisamment clair.
Merci à ceux qui liront![]()
Partager