IBDAC / UNIDAC + INTERBASE 6または7 +「RETURNING」という名前のテーブルフィールド

StackOverflow https://stackoverflow.com/questions/3450542

  •  27-09-2019
  •  | 
  •  

質問

UNIDACコンポーネントを使用するために、本当に古いコードを移植しています。 「Returning」という名前のフィールドを変更する特定の更新SQLで壁にぶつかりました。データベース内のSQL方言は1であり、二重引用フィールドデリミターをサポートしていないため、フィールドを引用符で包むだけで問題が解決しません。フィールドを変更せずにこれを回避する方法はありますか?私はDelphi 7にいて、インターベース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';
役に立ちましたか?

解決

開発者と話をしなければなりませんでした。特定のポイントに対処されていますが、実行する前にクエリ内のすべてのパラメーターを削除する必要があります。非常に奇妙ですが、その回避策:/

他のヒント

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

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

これは、戻ることが予約された言葉である新しい構文によるものだと思います!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top