Besoin d'aide sur 1 Requete UPDATE

Résolu
810mcu Messages postés 86 Date d'inscription samedi 28 août 2004 Statut Membre Dernière intervention 30 janvier 2014 - 2 juin 2011 à 19:29
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 18 juin 2011 à 20:52
Bjr a tous, voilà je suis en
Delphi6, Access 2000

nom_table: GRUME_H_KIN_
nom_champ: long du type float

j'ecrit
q_Update.SQL.Clear;
q_Update.SQL.Add('Update ' +tb_origem);
q_Update.SQL.Add('set long =' +QuotedStr(E_long.Text));
q_Update.SQL.Add('where (ID_GRUME_H =:toro) '); sql

resultat SQL
Update GRUME_H_KIN_
set long ='10.9'
where (ID_GRUME_H =:toro)

Quand j'exécute ça ne marche pas pourquoi qq. peut m?aider
J'obtient l'Erreur suivante (Erreur de syntaxe dans l'instruction UPDATE)

Je ne trouve vraiment pas
Voilà toutes possibilités que j'ai essayé
q_Update.SQL.Add('set long = ''' +E_long.Text + ''' ');
q_Update.SQL.Add('set long = ''' +QuotedStr(E_long.Text) +''' ');
q_Update.SQL.Add('set long = ' +QuotedStr(E_long.Text) +' ');
q_Update.SQL.Add('set long = "' +QuotedStr(E_long.Text) +'" ');
q_Update.SQL.Add('set long = ' +QuotedStr(E_long.Text) +' ');

Toutes le même msg d'erreur, qq peut me donner une lumière,
et pourtant je viens de tester avec

q_Update.SQL.Add('set idx = idx ');
et pas de soucis elle execute, !!! champ idx=text !!!

Merci a vous
810mcu

3 réponses

810mcu Messages postés 86 Date d'inscription samedi 28 août 2004 Statut Membre Dernière intervention 30 janvier 2014
18 juin 2011 à 10:24
Bonjour Delphiprog, et a vous tous,

Au fait j ai trouver, le mot long est un mot réserver par Access,
donc deux possibilités, soit changer long en qq. chose d autre
ou alors encerclé avec [long] et là plus de soucis.

Merci Delphiprog et a vous tous
810mcu
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 33
5 juin 2011 à 22:26
L'erreur ne viendrait-elle pas du fait que tu utilises un paramètre nommé 'toro' mais que tu n'affectes pas avant l'exécution de la requête ?
q_Update.SQL.Add('where (ID_GRUME_H =:toro) ');


D'autre part, es-tu bien sur qu'il ne manque pas un ou plusieurs espaces entre les mots de ta requête. Avant l'exécution, ajoutes un showmessage(q_update.sql.text) et vérifies bien la syntaxe.

May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 33
18 juin 2011 à 20:52
Merci pour tes précisions.


May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous