对一个表中所有列数据模糊查询adoquery

如何用adoquery对一个表中所有列进行模糊查询:

复制代码
 1 procedure TForm3.Button4Click(Sender: TObject);
 2 var
 3   ASql,AKey: string;
 4   I: Integer;
 5 begin
 6   //获取关键词
 7   AKey := Trim(Edit1.Text);
 8 
 9   //生成SQL语句
10 
11   ASql := 'SELECT * FROM 需要做的事 WHERE ';
12   for I := 0 to frmDataPool.qry需要做的事.FieldCount - 1 do
13   begin
14     if I = 0 then
15     begin
16       ASql := ASql + frmDataPool.qry需要做的事.Fields[I].FieldName + ' LIKE ''%' + AKey + '%''';
17     end else begin
18       ASql := ASql + ' OR ' + frmDataPool.qry需要做的事.Fields[I].FieldName + ' LIKE ''%' + AKey + '%''';
19     end;
20   end;
21 
22 //  Memo1.Lines.Add(ASql)  ;
23 //  Exit;
24 
25   //开始查询
26   with frmDataPool.qry需要做的事 do
27   begin
28     Close;
29     SQL.Text := ASql;
30     Open;
31   end;
32 end;
复制代码
posted @ 2017-05-03 17:58  delphi学习交流吧  阅读(768)  评论(0编辑  收藏  举报