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 :
avec ce code j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
pourtant, si je fais la requête suivante dans IbExpert, elle s'insère sans pb :Count of read-write columns does not equal count of values
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO UTILISATEURS(NOM,PRENOM) Values ('duss','jean-claude')
J'ai une erreur différente si j'utilise ce code à la place :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;j'ai esayé les simples quotes autour des noms de champs, les doubles quotes etc etc... sans trouver la syntaxe exacteToken unknown -line 1, .....
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 :
Merci à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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) );
Fred
Partager