0

UniDAC コンポーネントを使用するために、非常に古いコードを移植しています。「returning」という名前のフィールドを変更する特定の UPDATE sql で壁にぶつかりました。データベースの SQL 方言は 1 であり、二重引用符フィールド区切り文字をサポートしていないため、単にフィールドを引用符で囲むだけでは問題は解決しません。フィールドを変更せずにこれを回避する方法はありますか? 私は Delphi 7 を使用しており、interbase db コンポーネントから離れています。

編集:SQLは次のとおりです。

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

準備しようとすると、次のエラーが返されます。

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

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

これは、コードでクライアント SQL ダイアレクトを 1 に設定した場合でも発生します。

query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';
4

2 に答える 2

1

開発者と話をする必要がありました。ある点に対処しましたが、実行する前にクエリ内のすべてのパラメーターを削除する必要があります。非常に奇妙ですが、回避策です:/

于 2011-05-24T21:35:26.983 に答える
0

このフィールド以外はすべて同じままでビューを作成し、アプリケーションでそのビューを使用することは可能ですか?

Firebird < 2.1 (たとえば 1.5) のクライアント dll と同じバージョンのサーバーでこのアプリケーションを実行することは可能ですか?

これは、return が予約語である新しい構文によるものだと思います!

于 2010-08-11T19:10:13.743 に答える