估计你的参数不少,试一试
select * from a
where a.code=:codes1 or :codes2 or :codes3
query.parambyname('codes1').asstring:=值1;
query.parambyname('codes2').asstring:=值2;
query.parambyname('codes3').asstring:=值3;
有二种方法:
1、如果IN后的CODES集合是从另一个表中产生,可以将
IN后的参数改为另一个SELECT语句,这样,参数
就可以是单个变量,如SELECT * FROM A WHERE
CODE IN (SELECT CODE FROM B WHERE XXX=:YYY)。
2、如果CODES不是从数据表中产生,可以动态生产UNION,
如:SELECT * FROM A WHERE CODE=:XXX
UNION
SELECT * FROM A WHERE CODE=:YYY
再给XXX或YYY赋值。