Erreur syntaxe INSERT INTO [Résolu]

Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 25 juil. 2007 à 11:07 - Dernière réponse : Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention
- 27 juil. 2007 à 10:40
Salut! A chaque fois que j'exécute mon application, j'ai le message 'Erreur de syntaxe dans l'instruction INSERT INTO'...Je ne sais vraiment pas où se trouve l'erreur...

implementation

uses MenuAdmin;

{$R *.dfm}

procedure TUpDateCal.AjoutClick(Sender: TObject);
var Date : string;
begin
    AddDate.Active:=True;
    AddDate.SQL.Clear;
    if (EditDate.Text='') or (EditHeure.Text='') or (EditEpreuve.Text='')
    then Showmessage('La fiche n''a pas été correctement remplie.')
    else
    begin
      Date:=String(MenuGestion.DatedeChampionnat.Keyvalue);
      AddDate.SQL.Add('INSERT INTO CalTable(DateChampionnat,Date,Heure,TypeRencontre) VALUES ("'+Date+'","'+EditDate.Text+'","'+EditHeure.Text+'","'+EditEpreuve.Text+'");');
      AddDate.ExecSQL;
    end;
end;

end.

Merci
Afficher la suite 

19 réponses

Répondre au sujet
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 27 juil. 2007 à 10:40
+3
Utile
Maintenant ça marche...Mais j'ai écrit ça...:

AddDate.SQL.Add('INSERT INTO CalTable VALUES ("'+Date+'","'+EditDate.Text+'","'+EditHeure.Text+'","'+EditEpreuve.Text+'");');
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Guenky
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 25 juil. 2007 à 12:41
0
Utile
Salut,

Dans ces cas là, il peut être judicieux de faire un ShowMessage de ce que tu mets dans ton Add.
Commenter la réponse de cs_rt15
jelume 122 Messages postés mardi 3 avril 2007Date d'inscription 15 novembre 2007 Dernière intervention - 25 juil. 2007 à 13:03
0
Utile
salut,

Sans doute une valeur non reconnue dans la liste des valeurs de champs.
Les champs utilisés dans ta table sont de quel type?

Et encore une fois, je conseille l'utilisation de requètes paramétrées pour éviter tout problème de passage de date ou de texte comportant des ' ou des "
Commenter la réponse de jelume
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 25 juil. 2007 à 15:24
0
Utile
Je vais essayer en param mais par rapport au showmessage...J'ai aucun pb de syntaxe...Du moins que je connaisse...et tous les champs sont des textes...
Commenter la réponse de Guenky
jelume 122 Messages postés mardi 3 avril 2007Date d'inscription 15 novembre 2007 Dernière intervention - 25 juil. 2007 à 15:33
0
Utile
est-ce que tu pourrais mettre ici un copier-coller de ce que tu affiches avec ShowMessage ?
Commenter la réponse de jelume
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 25 juil. 2007 à 15:44
0
Utile
Bonjour,
Le    AddDate.Active:=True; n'est pas nécessaire,
Mais plutôt     AddDate.Active:=False; par précaution ...

Dom
Commenter la réponse de dominique.stock
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 25 juil. 2007 à 15:47
0
Utile
Peut être même que c'est de là que vient ton erreur car tu ouvres la requête alors qu'elle est peut être vide ...?

Dom
Commenter la réponse de dominique.stock
Oniria 297 Messages postés dimanche 14 mars 2004Date d'inscription 18 décembre 2014 Dernière intervention - 26 juil. 2007 à 09:21
0
Utile
Bonjour,

Et la syntaxe des dates. Je ne sais pas quel moteur SQL tu utilises mais moi j'utilise Mysql et les dates doivent être écrite année-mois-jour et les heures heure:minutes:secondes.

C'est peut-être une piste. Sinon, Il faut que tu execute ta commande SQL avec un outils d'execution de commande SQl et là, tu comprendra mieux.

Bon courage

Oniria
Commenter la réponse de Oniria
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 26 juil. 2007 à 10:00
0
Utile
 Bah je pense que c'est c'que je fais avec ExecSQL nan???...
Franchement je suis passé en param et j'ai revu l'expression mais rien...Ma base de données est sous Access
Commenter la réponse de Guenky
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 26 juil. 2007 à 10:33
0
Utile
As-tu mis  AddDate.Active:=False; ?

Dom
Commenter la réponse de dominique.stock
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 26 juil. 2007 à 10:39
0
Utile
heu ouais il est à false mais quand je veux le passer à true il me sort la même erreur!
Commenter la réponse de Guenky
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 26 juil. 2007 à 11:51
0
Utile
si tu le mets à True, c'est que tu veux qu'il execute la requete dedans ... si il n'y en a pas : erreur ...

Dom
Commenter la réponse de dominique.stock
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 26 juil. 2007 à 11:53
0
Utile
De toute façon ça marche toujours pas...Et je vois toujours pas l'erreur surtout que j'ai fais une requête du même type dans une autre unité et qu'elle marche...
Commenter la réponse de Guenky
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 26 juil. 2007 à 12:07
0
Utile
Je plussois jelume : svp montre nous ce que tu obtiens avec le ShowMessage.
Commenter la réponse de cs_rt15
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 26 juil. 2007 à 12:25
0
Utile
g un affichage très étrange:   ,_A
Commenter la réponse de Guenky
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 26 juil. 2007 à 12:32
0
Utile
Heu nan...J'avais utilisé la mauvaise fonction...
Donc comme affichage j'ai:
INSERT INTO CalTable(DateChampionnat,Date,Heure,TypeRencontre) VALUES ("18/10/2006","a","a","a");
Commenter la réponse de Guenky
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 26 juil. 2007 à 14:35
0
Utile
Tu peux essayer de suivre la piste de Oniria :
Essaye d'écrire correctement ce que tu met dans tes date et dans ton heure.

qqch comme ça :

AddDate.SQL.Add('INSERT INTO
CalTable(DateChampionnat,Date,Heure,TypeRencontre) VALUES
("18-10-2007","18-10-2007","11:11:11.222'","Blah Blah");');
Commenter la réponse de cs_rt15
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 26 juil. 2007 à 14:40
0
Utile
J'ai foiré au moins un guillemet...
Et visiblement y a pas besoin des milliseconde
(Gaffe au paramètre régionaux aussi...)
AddDate.SQL.Add('INSERT INTO
CalTable(DateChampionnat,Date,Heure,TypeRencontre) VALUES
("18-10-2007","18-10-2007","11:11:11","Blah Blah");');
Commenter la réponse de cs_rt15
Guenky 44 Messages postés mercredi 13 juin 2007Date d'inscription 9 août 2007 Dernière intervention - 27 juil. 2007 à 10:22
0
Utile
Même avec ça j'ai une erreur...C'est désespérant...
Commenter la réponse de Guenky

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.