【发布时间】:2021-05-29 07:21:39
【问题描述】:
我在使用下面的 ADOQuery 引用字符串 %ABC% 时遇到问题:
adoQuery1.SQL.Clear;
adoQuery1.SQL.Text := 'SELECT * FROM MyDB.MyTable WHERE MyField LIKE ''''%ABC%'''' ';
adoQuery1.ExecSQL;
adoQuery1.Close;
adoQuery1.Open;
我也尝试传递以下参数,但没有成功:
adoQuery1.SQL.Clear;
adoQuery1.SQL.Text := 'SELECT * FROM MyDB.MyTable WHERE MyField LIKE :Param1 ';
aqBCCombi.Parameters.ParamByName('Param1').Value := '%ABC%';
adoQuery1.ExecSQL;
adoQuery1.Close;
adoQuery1.Open;
这是我得到的错误:Parameter object is improperly defined. Inconsistent or incomplete information was provided.
这里有谁知道如何在 ADO SQL 文本中处理带引号的字符串?感谢任何帮助。
【问题讨论】:
-
仅供参考,
ExecSQL; Close; Open;完全没有意义。其次,将Open用于SELECT-ExecSQL用于不返回结果集的查询(插入、删除、更新)。 -
注明@KenWhite。感谢您的建议。