Remplissage d'une combobox depuis une bdd

Signaler
Messages postés
1
Date d'inscription
jeudi 8 novembre 2007
Statut
Membre
Dernière intervention
13 août 2009
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
voila j'ai un erreur: aucun donnée existe pour la ligne colone

code:
if (Connexion())
{
_requete = "SELECT nom FROM choix";
OleDbCommand cmd = new OleDbCommand(_requete, _cn);
OleDbDataReader reader = cmd.ExecuteReader();

t_lbo.Items.Clear();

int i = 0;
while (reader.Read())
{
i++;
}

for (int x = 0; x < i; x++)
{
ComboBox cob = new ComboBox();
cob.Items.Add((string)reader[x]);
}

reader.Close();
_cn.Close();
}

1 réponse

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
31
Salut,

1 -> Ta combobox est recrée a chaque tour de boucle

2 -> Pourquoi faire deux boucles
surtout qu'un reader est fait pour etre lu une seule fois il me semble.
c'est un iterateur derriere


int i = 0;
ComboBox cob = new ComboBox();
while (reader.Read())
{
cob.Items.Add((string)reader["Nom"]);
}




3 -> Normalement, il est preferable de passer par le databinding
datasource
datavalue
displaymember

4 --> Ensuite il est preferable de mettre dans un try catch la requete
avec les femeture dans un finally.

Bon dev