簡體   English   中英

IBDAC / UniDAC + Interbase 6或7 +一個名為“ returning”的表字段

[英]IBDAC / UniDAC + interbase 6 or 7 + a table field named “returning”

我正在移植真正的舊代碼以使用UniDAC組件。 我碰到了一個特定的UPDATE sql,它更改了一個名為“ returning”的字段。 簡單地將字段用引號引起來並不能解決問題,因為數據庫中的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';

我不得不和開發商談談。 它已解決到一定程度,但是我需要在執行查詢之前刪除查詢中的所有參數。 很奇怪,但是它是一種解決方法:/

您是否可以創建一個視圖,使除此字段之外的所有內容保持不變,並在您的應用程序中使用該視圖?

是否可以使用Firebird <2.1(例如1.5)的客戶端dll和具有相同版本的服務器來運行此應用程序?

我認為這是由於新的語法所致,其中return是保留字!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM