J'ai essayé d'get des données de SQL Server (2 tables: Famille
et Compte
) dans 2 comboboxes dans le Form_Load()
.
Mais comme vous voyez le résultat, cela fonctionne avec le 1er combobox, mais le 2ème il montre System.Data.SqlClient.SqlDataReader
C'est le code
private void Tresorerie_Load(object sender, EventArgs e) { conn = new SqlConnection(connssortingng); conn.Open(); Ssortingng queryCompte = "select NomCom from Compte"; Ssortingng queryFamille = "select NomFam from Famille"; commCompte = new SqlCommand(queryCompte, conn); commFamille = new SqlCommand(queryFamille, conn); try { //Compte commCompte.CommandType = CommandType.Text; dreaderCompte = commCompte.ExecuteReader(); while (dreaderCompte.Read()) { queryCompte = dreaderCompte[0].ToSsortingng(); TreComBoxCompte.Items.Add(queryCompte); } } catch (Exception) { MessageBox.Show("Problem with load Compte"); } finally { dreaderCompte.Close(); } try { //Famille commFamille.CommandType = CommandType.Text; dreaderFamille = commFamille.ExecuteReader(); while (dreaderFamille.Read()) { queryFamille = dreaderFamille[0].ToSsortingng(); TreComBoxFamille.Items.Add(dreaderFamille); } } catch (Exception) { MessageBox.Show("Problem with load Famille"); } finally { dreaderFamille.Close(); } conn.Close(); }
Pour la deuxième combobox, vous ajoutez votre gestionnaire de données dreaderFamille :
TreComBoxFamille.Items.Add(dreaderFamille);
tandis que vous devriez append queryFamille :
queryFamille = dreaderFamille[0].ToSsortingng(); TreComBoxFamille.Items.Add(queryFamille);
Si vous faites attention aux texts d'articles dans votre ComboBox
vous devinerez le problème et quand vous regardez le code, vous verrez que votre estimation est vraie.
pour la 2ème comboxbox, vous utilisez un mauvais object pour append
TreComBoxFamille.Items.Add(queryFamille);
Vous devriez le faire comme ceci:
while (dreaderFamille.Read()) { queryFamille = dreaderFamille[0].ToSsortingng(); TreComBoxFamille.Items.Add(queryFamille); }