Bonjour!

je travail avec une base de donnée SQL Server.
et j'ai une table Mode_Règlement, à chaque code_règlement correspond un libellé_règlement.
je travail avec un combobox et un textbox.

j'ai réussi à faire correspondre un code règlement à un libbellé règlement via une methode que je trouve trop longue (créer une classe , puis des methodes bref...).

Alors j'ai decider d'utiliser SortedDictionary.
je vous présente mon code et vous montre où sa coince.


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
39
40
41
42
43
44
45
 
 
 private SortedDictionary<string, string> reglement = new SortedDictionary<string, string>();
 private void Mode_Règlement(string vsoc, string vetb)
        {
 
            try
            {
                string selectquery = "SELECT [Code Société],[Code Etablissement],[Code Mode Réglement],[Libellé Mode Réglement]FROM dbo.[Modes Règlements]" +
                                    "WHERE [Code Société]='" + button4.Text.Trim() + "' AND [Code Etablissement]='" + button5.Text.Trim() + "'" +
                                    "ORDER BY [Code Mode Réglement]";
                using (SqlConnection conn = new SqlConnection(Variab_Meth_Glob.Chaine_SQLServers()))
                {
                    //Ouvre la cnnection
                    conn.Open();
                    //execute vos instructions
                    SqlCommand cmd = new SqlCommand(selectquery, conn);
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        // Ajoute le couple code et libellé dans le dictionnaire
 
                        reglement.Add(reader["Code Mode Réglement"].ToString(), reader["Libellé Mode Réglement"].ToString());
 
                    }
                    // Ensuite on remplit le combo box avec les clés :
                    foreach (string k in reglement.Keys)
                        cb_Mode.Items.Add(k);
 
 
 
                    // Enfin on va mettre en place l'évènement SelectedValueChanged sur le combobox
                   cb_Mode.SelectedValueChanged +=new EventHandler(cb_Mode_SelectedValueChanged);
 
                    //ferme la connection
                    reader.Close();
                    conn.Close();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Erreur :" + e.ToString());
            }
 
        }
et c'est ici où il y a une erreur
La référence d'objet n'est pas définies à une instance d'objet
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
 
 private void cb_Mode_SelectedValueChanged(object sender, EventArgs e)
       {
 
           try
           {
 
               tb_Libellé_Mode.Text = reglement[cb_Mode.SelectedValue.ToString()];
           }
 
           catch (Exception s)
           {
               MessageBox.Show("Erreur :" + s.ToString());
           }
        }
Merci pour l'aide.