如果我有一个如下的SQL语句
SELECT * FROM myTable WHERE CID = :vCID AND DataType = :vDataType
通常我使用TQuery来获取如下数据
aQuery.ParamByName('vCID').Value := '0025';
aQuery.ParamByName('vDataType').AsInteger := 1;
但是我如何才能忽略“ CID”键来获取类似的SQL
SELECT * FROM myTable WHERE DataType = :vDataType
我尝试了以下同步语法,但失败了
aQuery.ParamByName('vCID').Value := '%';
aQuery.ParamByName('vDataType').AsInteger := 1;
请帮帮我,谢谢。
最佳答案
最好的选择是简单地使用单独的查询:
aQueryBoth.SQL.Text := 'SELECT * FROM myTable WHERE CID = :vCID AND DataType = :vDataType';
...
aQueryBoth.ParamByName('vCID').Value := '0025';
aQueryBoth.ParamByName('vDataType').AsInteger := 1;
aQueryDataType.SQL.Text := 'SELECT * FROM myTable WHERE DataType = :vDataType';
...
aQueryDataType.ParamByName('vDataType').AsInteger := 1;