1 頁 (共 1 頁)

使用 TQuery 或 TADOQuery 時, SQL 與 Parameter 的問題

發表於 : 2008年 11月 27日, 17:44
tim
在使用 TQuery 或 TADOQuery 時, 若是 SQL Command 為動態
給定, 則若是使用 Parameters.ParamByName('xxxx') 時, 會發生
Parameter 'xxxx' not found 的問題, 但是可以使用 Parameters[0..X]
的方式給定, 原因是因為其 Command 尚未 parse 完成, 使得使
用 ParamByName 會找不到參數, 解決的方式就是要在給定
SQL Command 之後, 要再進行 ParseSQL, 相關連結:
深度論壇: http://forum.vclxx.org/topic.asp?TOPIC_ ... e=Database
DELPHI32: http://www.delphi32.com/info_facts/faq/faq_932.asp

delphi32 原文如下:


When using an ADOQuery with Parameters, and trying to access the Parameters with: ADOQuery.Parameters.ParamByName('ParamName').value I get a 'Parameter "ParamName" Not Found' error. How can I fix this?


You can easily fix this by creating the parameters before calling

ADOQuery.Parameters.ParamByName('ParamName').value
by calling:
ADOQuery.Parameters.ParseSQL(ADOQuery.SQL.Text, True).