Bonjour,
j'essaie d'exécuter la fonction suivante :
Avec la source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ChargerDropDownList("SELECT DISTINCT cast(CENTRE as varchar) as CENTRE, NOM FROM vue_SELECTION_CENTRE", d_centre, "NOM", "CENTRE", Cnx("vue_SELECTION_CENTRE"));
Et j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 void ChargerDropDownList(string CodeSql, DropDownList MyDropDownList, string MyVar, string MyField, string MyCnx) { // Effacement du contenu MyDropDownList.Items.Clear(); // Execute du code sql sur la BDD et met le résultat dans un DropDownList SqlConnection myConnection = (SqlConnection)Session[MyCnx]; SqlCommand myCommand = new SqlCommand(CodeSql, myConnection); SqlDataReader dtaRead = myCommand.ExecuteReader(); MyDropDownList.DataSource = dtaRead; MyDropDownList.DataTextField = MyVar; MyDropDownList.DataValueField = MyField; MyDropDownList.DataBind(); if (dtaRead.RecordsAffected > 0) { while (dtaRead.Read()) { MyDropDownList.Items.Add(dtaRead.GetString(0)); } } dtaRead.Close(); }
sur la ligneDétails de l'exception: System.Data.SqlClient.SqlException: 'TOTO': nom de colonne incorrect.
Où TOTO est la première valeur de nom de la table.Ligne 228 : SqlDataReader myDataReader = myCommand.ExecuteReader();
par contre si on intervertit CENTRE et NOM dans l'appel de la fonction ça marche bien mais ce n'est pas ce que je voudrais obtenir (noms affichés à l'écran et valeurs de centre comme valeurs du contrôle).
Si quelqu'un arrive à comprendre l'erreur, ou bien a une autre manière de remplir un DropDownList avec Text et Values lues dans une table ça m'aiderait bien.
Merci![]()
Partager