以ADO为例
  ADOQuery.SQL.Clear;
  ADOQuery.SQL.Add('select * from qq where date =2002-06-28');
  if WantToQueryAge then
    ADOQuery.SQL.Add(' and age = 2');
  if WantToQuerySex then
    ADOQuery.SQL.Add(' and sex = female ');

解决方案 »

  1.   

    用几个组件来组合条件字符串,然后再加在"where"之后实现多条件查询
    ComboBox1  ComboBox2 Edit1 ComboBox3
    年龄       =         18      and
    性别       <>        男      or
    ...        ...             ...
      

  2.   

    用几个组件来组合条件字符串,然后再加在"where"之后实现多条件查询
    ComboBox1  ComboBox2 Edit1 ComboBox3
    年龄       =         18      and
    性别       <>        男      or
    ...        ...             ...
      

  3.   


      ADOQuery.SQL.Clear;
      ADOQuery.SQL.Add('select * from qq where date =2002-06-28');
    后面可以根据你的条件给ADoquery.sql继续增加条件
    ADOQuery.SQL.Add(' add...
      

  4.   

    我的程序中的一段:with DataModule1 do begin
      RsADOQuery.Close;
      RsADOQuery.SQL.Clear;
      RsADOQuery.SQL.Add('select *  from lsb');  RSADOQuery.SQL.Add('where 身份证号码<>''''') ;     if NameEd.Text<>'' then
        RsADOQuery.SQL.Add('and 姓名 like ''%'+NameEd.Text+'%''') ;
      if SexCom.Text<>'' then
         RsADOQuery.SQL.Add('and 性别='''+SexCom.Text+'''');  if MarryCom.Text<>'' then
          if  MarryCom.Text='未婚' then  RSADOQuery.SQL.Add('and 婚否=False')
          else RSADOQuery.SQL.Add('and 婚否=True')  ;.... RSADOQuery.SQL.Add('order by 厂牌号');
      RsADOQuery.Open;
    ......
      

  5.   

    下面为一段代码,如果输入的条件为空的话则要加入IF语句来判断, ''''4个引号为字符串处理
    with ADOQuery1 do
    begin
      if Active then Close;
      SQL.Clear;
      SQL.Add('select * from qq');
      //下面加入你的条件:edtDate, edtAge, edtSex, edtCode, edtName
      //为输入的各条件
      SQL.add(' where date = ' + edtDate.AsDateTime ');
      SQL.add(' and age = ''' + edtAge.asstring + '''');
      SQL.add(' and sex = ''' + edtSex.asstring + '''');
      SQL.add(' and code = ''' + edtCode.asstring + '''');
      SQL.add(' and name = '''+ edtName.asstring +'''');
      Open;
    end;