这样的怎么实现:
select * from TT_temp where test in(11,22,33)
其中11,22,33为一个变量

解决方案 »

  1.   

    Var
    ss:string;
    begin
    query.close;
    query.sql.clear;
    query.sql.text:='select * from TT_temp where test in(11,22,33)';
    query.open;
    其中:ss:=11,22,33
    end;
    这样的语句怎么些
      

  2.   

    用一个临时变量加字串:Var
    ss:string;
    TempStr:string;
    begin
    Temp:=''' ''';
    Temp:=Temp+',''11''';
    Temp:=Temp+',''22''';
    Temp:=Temp+',''33'''; //需要的话可以写循环query.close;
    query.sql.clear;
    query.sql.text:='select * from TT_temp where test in('+Temp+')';
    query.open;
    其中:ss:=11,22,33
    end;
      

  3.   

    Temp:=''' ''';
    Temp:=Temp+',''11''';
    Temp:=Temp+',''22''';
    Temp:=Temp+',''33'''; //需要的话可以写循环
    其中的11,22,33 可不可以变为str
    str:string
    ,看不懂
      

  4.   

    query.close;
    query.sql.clear;
    query.sql.text:='select * from TT_temp where test in('+:s1+','+:s2+','+:s3+')';
    qy.Parameters.ParamByName('s1').asstring:='11';
    qy.Parameters.ParamByName('s2').asstring:='22';
    qy.Parameters.ParamByName('s3').asstring:='33';
    query.open;
      

  5.   

    query1.sql.clear;
    query1.sql.text:='select aa from table1where bb in('
    for i:=1 to x do 
    begin
        s:=s+'.....'
    end;
    query1.sql.text:=query1.sql.text+s+')'
    query1.execsql;
      

  6.   

    query.sql.text:='select * from TT_temp where test in('''+inttostr(var1)+''','''+var2+''','''+var3+''')';
      

  7.   

    query.sql.text:='select * from TT_temp where test in('''+inttostr(var1)+''','''+inttostr(var2)+''','''+inttostr(var3)+''')';
      

  8.   

    不好意思:打错了:
    query.sql.text:='select * from TT_temp where test in('11','22','33')';
    这些为字符;
    对于楼上的有些回答:
    我只想说:我没有那么笨!
    其中的'('11','22','33')可以看作为一个变量,是不停变化的,不是一成不变的;
      

  9.   

    TO: sousouwjh(sousouwjh)的还可以
    不过只可以是数字,我以前写的也是这样的,这样的功能我也可以写出来,
    但是为字符时,就不行了,具体效果见我上面写的
    希望各位大虾帮忙时看清楚,把我的智商想得高一点,
    再次感谢!
    呵呵