utilisation de SortedDictionary!
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:
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
Citation:
La référence d'objet n'est pas définies à une instance d'objet
Code:
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.