【发布时间】:2013-10-23 16:01:30
【问题描述】:
我正在TADOQuery 中执行UPDATE 语句,并且我正在为一些事情使用参数。最初,这工作得很好,但我为表名和字段名添加了另一个参数,现在它坏了。
代码如下所示:
Q.SQL.Text:= 'update :tablename set :fieldname = :newid where :fieldname = :oldid';
Q.Parameters.ParamValues['tablename']:= TableName;
Q.Parameters.ParamValues['fieldname']:= FieldName;
Q.Parameters.ParamValues['oldid']:= OldID;
Q.Parameters.ParamValues['newid']:= NewID;
我得到的错误:
我假设这是因为我使用了这个字段名两次。我可以通过第二次使用另一个唯一字段名称来克服这个问题,但是我仍然遇到另一个错误:
如何使用参数指定要更新的表和字段?
【问题讨论】:
-
IIRC,如果您重用这样的参数名称,则必须遍历所有参数才能找到它的所有实例。也就是说,我不确定您是否可以将参数用于表名或字段名。您可能需要为值执行带参数的动态 SQL。
标签: sql delphi parameters ado