PB SQL ;

Résolu
manytime Messages postés 23 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 2 avril 2008 - 9 mars 2006 à 14:40
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 10 mars 2006 à 19:27
Salut à tous, ya un petits truc qui m'échape dans la requête ci-dessous. Quand je l'éxécute, j'ai un message d'erreur avec 'Point-Virgule absent à la fin de l'instruction SQL'. Mais il y est bien, voila pourquoi je sollicite votre aide. Merci.

form2.ADOQuery2.SQL.Add('INSERT INTO Films(Pret,Destinataire,Date_pret) VALUES(:pret,:destinataire,:date) WHERE Nom_film = '''+Editfilmp2.text+'''; ');
Form2.ADOQuery2.Parameters.ParamByName('pret').Value:='yes';
Form2.ADOQuery2.Parameters.ParamByName('destinataire').Value:=editdest2.text;
Form2.ADOQuery2.Parameters.ParamByName('date').Value:=EditDate.Text;
form2.ADOQuery2.ExecSQL;

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
10 mars 2006 à 19:27
Je n'avais pas tilté mais :
'INSERT INTO Films(Pret,Destinataire,Date_pret) VALUES(:pret,:destinataire,:date) WHERE Nom_film = '''+Editfilmp2.text+''';
L'instruction INSERT n'accepte pas de clause WHERE !
Tu dois confondre avec l'instruction UPDATE.
La partie WHERE Nom_film = '''+Editfilmp2.text+''' est donc superflue et le moteur SQL s'attend à trouver un point-virgule après VALUES(:pret,:destinataire,:date)

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
9 mars 2006 à 21:14
Déjà, il y a une erreur flagrante :
form2.ADOQuery2.SQL.Add('INSERT INTO Films(Pret,Destinataire,Date_pret) VALUES(:pret,:destinataire,:date) WHERE Nom_film = '''+Editfilmp2.text+'''; ');
Form2.ADOQuery2.Parameters.ParamByName('pret').Value:='yes';
Form2.ADOQuery2.Parameters.ParamByName('destinataire').Value:=editdest2.text;
Form2.ADOQuery2.Parameters.ParamByName('date').Value:=EditDate.Text;
form2.ADOQuery2.ExecSQL;

Date est un mot réservé du langage SQL !...

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
manytime Messages postés 23 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 2 avril 2008
10 mars 2006 à 08:45
J'ai fait la rectification mais c'est sans effet toujours ce problème de point-virgule.
0
Rejoignez-nous