[TSqlQuery+dbexpress] Pbs Insertion
Bonjour à tous,
voila, j'utilises dbexpress avec une base Interbase en local,
j'utilises principalement un TSqlQuery et tout marche bien pour
les SELECT mais pour les INSERT j'ai des erreurs.
Mon code :
Code:
1 2 3 4 5 6 7 8 9
| procedure TcreerCompteForm.RegisterUser;
Begin
DataModule1.SQLQuery.Close;
DataModule1.SQLQuery.SQL.Clear;
DataModule1.SQLQuery.SQL.Add('INSERT INTO UTILISATEURS VALUES(:NOM,:PRENOM)');
DataModule1.SQLQuery.ParamByName('NOM').Value:=(CreerCompteForm.LblNom.text);
DataModule1.SQLQuery.ParamByName('PRENOM').Value:=(CreerCompteForm.LblPrenom.text);
DataModule1.SQLQuery.ExecSQL;
End; |
avec ce code j'ai l'erreur :
Citation:
Count of read-write columns does not equal count of values
pourtant, si je fais la requête suivante dans IbExpert, elle s'insère sans pb :
Code:
INSERT INTO UTILISATEURS(NOM,PRENOM) Values ('duss','jean-claude')
J'ai une erreur différente si j'utilise ce code à la place :
Code:
1 2 3 4 5 6
| procedure TcreerCompteForm.RegisterUser;
Begin
DataModule1.SQLQuery.SQL.Clear;
DataModule1.SQLQuery.SQL.Add('INSERT INTO UTILISATEURS (NOM,PRENOM) Values ('+ CreerCompteForm.LblNom.text +','+ CreerCompteForm.LblPrenom.text +')');
DataModule1.SQLQuery.ExecSQL;
End; |
Citation:
Token unknown -line 1, .....
j'ai esayé les simples quotes autour des noms de champs, les doubles quotes etc etc... sans trouver la syntaxe exacte
Quelqu'un pourrait il me dire où est mon erreur et quelle est la bonne façon de faire ceci ?
voilà la structure de la table :
Code:
1 2 3 4 5 6 7 8 9
| CREATE TABLE UTILISATEURS (
ID INTEGER NOT NULL,
NOM VARCHAR(30),
PRENOM VARCHAR(30),
SEXE VARCHAR(10),
DATE_NAISSANCE DATE,
TAILLE INTEGER,
MOT_DE_PASSE VARCHAR(15)
); |
Merci à vous
Fred