如何实现以下这样一个功能:
要从数据库中取一组数据,条件是field1的值必须在数组arrTmp中有对应的元素?
用where field1 in arrTmp?...可以吗?
给个具体的办法吧,谢谢各位。对不起各位,真的没分给啦最后只有这么多了另外5分我放在另一个地方提问了

解决方案 »

  1.   

    select * from table where field1 in arrTmp
      

  2.   

    SELECT * FROM table WHERE FIELD1=arrTmp[i]
      

  3.   

    var
      Strs :TStrings;
      Str :String;
      i :Integer;
    begin
      Strs := TStringList.Create;
      for i :=0 to 4 do Strs.Add(IntToStr(i));
      {随便构造的数组}
      Str := Strs.CommaText;
      {Str的值为: 0,1,2,3,4 }
      ShowMessage(str);
      with ADOQuery1 do
      begin
        CLose;
        sql.Clear;
        sql.Add('select * from testtable where id in ('+Str+')');
        {id 为整型,如果是字符型Str须为:'0','1','2','3','4'}
        Open;
      end;
    end;
      

  4.   

    to Kevin_Lmx(繁华阅尽):
        谢谢,你的方法应该是基本可行的。
        其实我当时采用的方法是自己去构造一个in语句,和你的差不多,但你用了TStrings,这样好象也会方便些。    谢谢各位。