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