Afficher dans une combobox les valeurs d'un Select

Michmich9337 Messages postés 2 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 8 avril 2011 - 8 avril 2011 à 09:15
Michmich9337 Messages postés 2 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 8 avril 2011 - 8 avril 2011 à 11:33
Bonjour,

J'ai un soucis avec mon code c#

Je souhaiterais insérer les valeurs d'une Requete Select dans une combobox, donc en concaténant plusieurs champs.

Ma connexion vers la DB fonctionne, et ma requête aussi. (Tester sous Access)
Cependant je ne vois vraiment pas comment faire.
J'ai essayé de passer par un DataSet.

Quelqu'un aurait il une solution?

Cordialement,
Michmich

2 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
8 avril 2011 à 11:17
Salut

Pour exécuter des requêtes SQL en C#, il faut utiliser la classe SqlCommand (ou classe dérivée, selon le type de ta base de données (SQLiteCommand, MySqlCommand...)). C'est dans l'objet correspondant que tu définiras ta requête dans la propriété CommandText.

La classe SqlCommand contient 4 méthodes pour exécuter des requêtes :
- ExecuteNonQuery() => Pour des requêtes non SELECT (INSERT, UPDATE...). La fonction renvoie le nombre de lignes affectées
- ExecuteScalar() => Exécute la requête et renvoie uniquement le premier champ du premier enregistrement de ta requête. Très pratique quand tu n'as besoin que d'un seul élément (par exemple, pour une requête SELECT COUNT(*))
- ExecuteXmlReader() => Renvoie les résultats sous forme de XmlReader.
- ExecuteDataReader() => Renvoie un objet de type SqlDataReader pour lire les résultats.

Je te conseille d'utiliser la dernière méthode. Sur l'objet renvoyé, tu fais une boucle while(reader.Read()) dans laquelle tu ajoutes les éléments à ta combobox. Pour accéder à la valeur d'un champ, tu as deux solutions :
- reader["nomDuChamp"].ToString();
- reader[indiceDuChamp].ToString();

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Michmich9337 Messages postés 2 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 8 avril 2011
8 avril 2011 à 11:33
Merci bien =)
0
Rejoignez-nous