请问如何在EDIT发生CHANGE时,根据变化内容模糊查询出数据库中内容????????
我的代码如下:
请帮忙看一下,在线等:
procedure TForm1.Edit1Change(Sender: TObject);
 var
  str1,str2:string;
begin
  str1:='901200'+trim(edit1.text);
  str2:=QuotedStr('%'+str1+'%');
showmessage(str2); 
   str1:='select * from 1.dbf where 准考证号 like 9012001%';
       // showmessage(str1);
    query1.active:=false;
    query1.sql.clear;
    query1.sql.add(str1);
     query1.open;end;我的老是出错,达不到结果哦

解决方案 »

  1.   

    str1:='select * from 1.dbf where 准考证号 like 9012001%';这句有错!
    改为str1:='select * from 1.dbf where 准考证号 like '+str2;
      

  2.   

    一变化就查询,这样对数据库的负荷太大了,另外,每输入一个字母就查一次,好像太频繁了电。。我的做法是在onchange事件中检查是否按下了回车键,如果是回车,就查询,如果连续两次回车,那么就清除当前输入,重新等待新的输入。我做得更加智能些,象搜索引擎一样,支持空格隔开的多个关键字
      

  3.   

    str1:='select * from 1.dbf where 准考证号 like ''9012001%''';