Probleme avec insert into

lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011 - 26 mars 2009 à 21:20
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 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.

nom est un string et Pays un entier

J'espere que quelqu'un voit où se situe le prob.

6 réponses

WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
26 mars 2009 à 22:01
Tu as besoin des apostrophes  apres le where non?

Utilise des requetes parametrees et tu n'auras pas ce genre de probleme.
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
26 mars 2009 à 22:11
c'est quoi des requete parametrées?
0
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
26 mars 2009 à 22:37
Recherche sur le site il y a quelque tutos
0
maladebe Messages postés 18 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 27 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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
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 ;)

Krimog :
while (!succeed = try()) ;
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 mars 2009 à 18:45
d'accord merci tout le monde, J'ai renommé mes N° en Id. Ma requete marche impec grace au oledbparameter.

Merci
0
Rejoignez-nous