listbox2控件中有若干行数据,可以增加和减少,若干行是不确定。
现在我要写sql语句里的条件,条件值就是从listbox2中取
我希望写成
where 字段 in ()这种形式。现在()里的内容不知道如何填写,请各位帮帮忙!谢谢

解决方案 »

  1.   

    ()里的值是listbox2中所有的值
      

  2.   

    procedure TForm1.Button4Click(Sender: TObject);
    var
      i : integer;
      Str : String;
    begin
      Str := '';
      for i := 0 to ListBox1.Items.Count - 1 do
      begin
        if Str = '' then
          Str := QuotedStr(ListBox1.Items.Strings[i])
        else Str := Str + ',' + QuotedStr(ListBox1.Items.Strings[i]);
      end;  ShowMessage(Str);
    end;
      

  3.   

    谢谢这位
    我自己也写了一个   
                      procedure TForm1.Button4Click(Sender: TObject);
                      var
                        i : integer;
                        Str : String;                
                      begin
                        sql := sql + 'haa05c in (''';
                        for i := 0 to suiListBox2.Count-1 do
                          begin
                            sql := sql +suiListBox2.Items[i]+''',''';
                          end;
                        sql := copy(sql,1,length(sql)-2);
                        sql := sql + ') and ';
                      showmessage(sql);
                      end;
    结贴给分