Remplissage d'une combobox depuis une bdd

cs_Lavi Messages postés 1 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 13 août 2009 - 13 août 2009 à 18:37
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 13 août 2009 à 19:14
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 août 2009 à 19:14
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
0
Rejoignez-nous