Ereure sql : trop peu de parametre ?

Résolu
fermeula
Messages postés
2
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
29 août 2004
- 28 août 2004 à 15:10
fermeula
Messages postés
2
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
29 août 2004
- 29 août 2004 à 20:25
jai un probleme avec delphi 6/access

je veu envoyé les donné d'un formulaire dans ma base

query1.close;
query1.SQL.Clear;
query1.SQL.Add('INSERT INTO COTISATION (LIB_cotis, validite, deductible) VALUES ('+edit2.text+' ,'+BoolToStr(validite.Checked)+','+BoolToStr(deductible.Checked)+');');
Query1.ExecSQL;
query1.Close;

dans une autre partie de mon programme jai utilisé la meme méthode et ca marche mais la ca me fait :
erreur sql general, trop peu de parametre. 1 attendu

là je capte plus...et ca fait pas 5 minutes que je me prend la tete dessu !

2 réponses

cs_saib
Messages postés
38
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
15 mars 2010

28 août 2004 à 20:56
je te suggere de separer la partie "requette" des valeurs que tu y passe, ca evite des probleme de type de données et de plus ca te permet de definir ta requette a un seul endroit et de la modifier si besoin sans avoir a modifier tout le code (tu peut meme la charger depuis un fichier texte, comme ca en cas de modif sur la base, tu n'a pas a modifier et recompiler le code)

essaie :

query1.close;
query1.SQL.Clear;
query1.SQL.text := 'INSERT INTO COTISATION (LIB_cotis, validite, deductible) VALUES (:LIB_cotis, :validite, :deductible);');

Query1.Parameters.ParamByName('LIB_cotis').Value := edit2.text;
Query1.Parameters.ParamByName('validite').Value := validite.Checked;
Query1.Parameters.ParamByName('validite').Value := deductible.Checked;
Query1.ExecSQL;
query1.Close;

saib
3
fermeula
Messages postés
2
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
29 août 2004

29 août 2004 à 20:25
oula, ca marche !
je comprend toujours pas pourquoi l'autre méthode marche pas.
javais tester une méthode un peu comme ca, mais comme je suis un peu trop blond ca marchais pat avec moi....

1000 merci
0