Bonjour,
Je suis actuellement sur un petit projet et j'avance d'erreur en erreur ...
Voila le Topo : J'ai une database avec une table => insee$
dedans se trouvent
- CP (code postal en clef primaire pour chaque commune)
- Commune (le libellé de chaque commune)
Dans mon programme j'ai une listbox (je travail en WPF) qui proposent toutes les commune (j'ai donc requêté ma database ici et ça marche)
Une foi la Commune sélectionnée je peux cliquer sur un bouton pour afficher le CP de celle ci.
C'est là que ça se corse. Je recupere le nom de la commune avec un textblock et ça marche puis je fais ma requete, string sql telle que :
Pour vérifié que la requête soir bonne je fais un affichage de celle ci juste après, ce qui me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sql = "SELECT CP FROM insee$ WHERE Commune = " + textBlock1.Text;
donc ça parait bon jusque là mais ...SELECT CP FROM insee$ WHERE Commune = PARIS
quand la requête s'exécute il y a l'erreur :
Je ne comprend pas d'où ça vient ...Nom de colonne non valide : 'PARIS'.
Voila mon code ci-dessous pour plus de compréhension (la partie intéressante).
L'aide Visual Studio me dit que ça peut venir des double cote je pense pas que ça vient de là j'ai testé d'autre requete avec :
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 private void button1_Click(object sender, RoutedEventArgs e) { if (listBox1.SelectedValue == null) return ; sql = "SELECT CP FROM insee$ WHERE Commune = " + textBlock1.Text; DataSet dtSet2 = new DataSet(); using (cn = new SqlConnection(connectionString)) { command = new SqlCommand(sql, cn); SqlDataAdapter adapter = new SqlDataAdapter(); cn.Open(); adapter.SelectCommand = command; adapter.Fill(dtSet2); //ça plante ici //textBlock2.DataContext = dtSet2; cn.Close(); }
et ça marche parfaitement ...sql = "SELECT machin FROM " + MaColonne;
Merci pour les coups de mains à venir.
Partager