现在我的人事管理系统里面有一项‘按工号’查询,我现在想实现的是一个模糊查询,就是一个输入框,我输入工号也可以查询,输入姓名也可以查询,输入学历也可以查询,总之员工的基本信息都可以作为输入,是个万能的查询框。(最好有代码 ,我一看就明白了)

解决方案 »

  1.   

    'select * from table where 工号 like '+QuotedStr('%'+edit1.text+'%)+' or 姓名 like '+QuotedStr('%'+edit1.text+'%)+' or 学历 '+QuotedStr('%'+edit1.text+'%),如果还有其它字段一直往下like即可
      

  2.   

     用一個 Combobox  來做,後面跟一個 Edit
    combobox 的 itemindex 0 工號   1 姓名   2  學曆 
    if trim(Edit.text) <> '' then 
    begin
      case Combobox.itemindex of 
       0: sql := 'select * from table where  工號 = '+Quotedstr(Edit.text);
       1: sql := 'select * from table where  姓名 = '+Quotedstr(Edit.text);
       2: sql := 'select * from table where  姓名 = '+Quotedstr(Edit.text);
      end;
    end;AdoQuery.close;
    adoQuery.sql.text := sql;
    adoquery.open;
      

  3.   


    if trim(Edit.text) <> '' then 
    begin
      case Combobox.itemindex of 
       0: sql := 'select * from table where  工號 like '+Quotedstr('%'+Edit.text)+'%';
       1: sql := 'select * from table where  姓名 like '+Quotedstr('%'+Edit.text)+'%';
       2: sql := 'select * from table where  姓名 like '+Quotedstr('%'+Edit.text)+'%';
      end;
    end;AdoQuery.close;
    adoQuery.sql.text := sql;
    adoquery.open;
     這是模糊查詢
      

  4.   

    还是用starluck 的方法吧,多个模糊条件效率太低了,除非数据量不大