lirmo
Messages postés31Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention30 mars 2011
-
26 mars 2009 à 21:20
lirmo
Messages postés31Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention30 mars 2011
-
27 mars 2009 à 18:45
Bonjour,
je ne comprend pas l'erreur, voici ma commande
string ReqAjoutLangue = " INSERT INTO Langue ( Nom, Pays )values('"+txtLangue.Text+"','(select pays.N° from pays where( pays.Nom= "+cbPays.SelectedItem.ToString()+"))')";
Pourquoi ne marche t'elle pas?
L'erreur: Type de données incompatible dans l'expression du critère.
maladebe
Messages postés18Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention27 mars 2009 27 mars 2009 à 08:36
Si tu as utilisé les propriétés DataSource, DisplayMember et ValueMember pour ta combo, tu peux écrire la requete suivante:
"INSERT INTO Langue (Nom, Pays) VALUES ( '"+txtLangue.Text+"', '"+cbPays.SelectedValue+"')";
Ca évite de faire un select dans un insert (Perso je suis pas fan).
Et tu utilises, comme WishhhMaster le dit, les requetes parametrées pour éviter les problèmes de guillemets et quotes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 27 mars 2009 à 11:02
Salut.
Les requêtes paramétrées doivent effectivement simplifier ta requête.
En revanche, petit conseil : évite absolument les caractères spéciaux dans le nom de tes tables / champs / variables : "select pays.N°", il vaut mieux simplement appeler ton champ "Numero". Je te dis ça parce qu'un jour tu tomberas sur un langage qui n'acceptera par ça, ou un SGBD qui te dira simplement "Erreur dans la syntaxe SQL", et tu ne comprendras pas tout de suite pourquoi.
Autant prendre dès les début des bonnes habitudes ;)