for i:=0 to listbox1.items.count-1 do
begin
 if listbox1.items.count=1 then //如果listbox1只有一行
    begin
      aa:='tixing='''+listbox1.items[i]+'''';
      break;
    end else begin  //如果listbox1多行
   
                 if i=0 then
                   aa:='tixing='''+listbox1.items[i]+''''
                  else
                   aa:='tixing='''+listbox1.items[i]+''' or '+aa;
            end;end;

解决方案 »

  1.   

    Proceduce Tform1.button1click;var
    aa,bb:string;
    i:integer;
    begin
    aa:='';
    for i:=0 to listbox1.items.count-1 do
    begin
     if listbox1.items.count=1 then //如果listbox1只有一行
        begin
          aa:='tixing='''+listbox1.items[i]+'''';
          break;
        end else begin  //如果listbox1多行
       
                     if i=0 then
                       aa:='tixing='''+listbox1.items[i]+''''
                      else
                       aa:='tixing='''+listbox1.items[i]+'''' or '+aa;
                end;end;
    bb:='select * from tiku where '+aa;
    memo1.text:=bb;
    Adoquery1.close;
    Adoquery1.sql.clear;
    Adoquery1.sql.add(memo1.text);
    Adoquery1.open;
    end;
      

  2.   

    说了一大堆,就是要在D里写SQL语句时给字符串加引号的问题:
       aa := 'tixing= ' + '''' + listbox1.items[i] + '''' ;
    只要记住想在加引号的地方加上: + '''' +  就一切OK了