Question

Je suis vraiment vieux portage du code pour utiliser les composants UniDAC. Je l'ai frappé un mur avec une sql UPDATE spécifique qui change un champ nommé « retour ». enroulant simplement le champ entre guillemets ne résout pas le problème, car le dialecte SQL dans la base de données est 1, qui ne supporte pas délimiteurs double champ de citation. Y at-il moyen de contourner cela sans changer le champ? Je suis sur delphi 7, et me déplace loin des composants db interbase.

Modifier : SQL suit comme:

update logger set
returning = :RETURNING
where locator = :LOCATOR

renvoie l'erreur suivante en essayant de préparer:

---------------------------
Ww
---------------------------

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
where.
---------------------------
OK   
---------------------------

Cela se produit même quand je mets le dialecte SQL client à 1 dans le code:

query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';
Était-ce utile?

La solution

Je devais parler au développeur. Il a été adressé à un certain point, mais je dois supprimer tous les paramètres de la requête avant de l'exécuter. Très étrange, mais son une solution de contournement: /

Autres conseils

Est-il possible pour vous de créer une vue en laissant tout le même, sauf pour ce champ et d'utiliser ce point de vue dans votre application?

Est-il possible d'exécuter cette application avec le dll client d'un Oiseau de feu <2,1 (1,5 par exemple) et un serveur avec la même version?

Je pense que cela est dû à la nouvelle syntaxe où retour est un mot réservé!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top