需要做一个多重查询,查询条件有9个字段,(9个Edit都可以输入查询数据)但是查询的时候可以任意填写这9个字段数据做模糊查询,请问一下,怎么样动态选择输入了数据的Edit作为查询条件,谢谢

解决方案 »

  1.   

    给你一个基本的思路,我就是这么做的:var
      SqlStr:string;
    begin
      SqlStr := 'select * from table1 where 1=1';
      if Edit1.Text <> '' then
        SqlStr := SqlStr + ' and 字段1 like ''%'+Edit1.Text+'%''';//like后面的引号写法一时不确定,试试看
      ..........//以下的都依此类推
      with AdoDataSet do
      begin
        Close;
        CommandText := SqlStr;
        Open;
      end;
    end;
      

  2.   

    有9个查询条件最好不要用  and  用 or 比较好一点
      

  3.   

    谢谢大家,问题暂时已经解决了,用了两个listbox,把有数据的字段读到listbox1里面,对应字段的值读到listbox2里面,然后付给查询语句就ok了