我想这样可能不行,你还是老实一点,直接写算了。
adodataset.commandtext:=Format('select * From table1 where iden in (%s)', ['1, 2']);

解决方案 »

  1.   

    这样写看如何:
    adodataset.close;
    adodataset.commandtext:='select * From table1 where iden in (:iden_list)';
    adodataset.Parameters.ParamByName('iden_list').value:='"1","2"'
    adodataset.open;
      

  2.   

    我原来的adodataset.commandtext有近1000个字符,要在代码中写的话需要手工分成四五个(不能超出256个字符),很烦@
    没有好办法传递in (...)的参数吗?
      

  3.   

    可以这样写:
    adodataset.close;
    adodataset.commandtext:='select * From table1 where iden in (:a,:b)';
    adodataset.Parameters.ParamByName('a').value:=1;
    adodataset.Parameters.ParamByName('b').value:=4;
    adodataset.open;
      

  4.   

    个数不一定呀,怎么能
    adodataset.close;
    adodataset.commandtext:='select * From table1 where iden in (:a,:b)';
    adodataset.Parameters.ParamByName('a').value:=1;
    adodataset.Parameters.ParamByName('b').value:=4;
    adodataset.open;
    呢?