单条件多字段查询
单条件多字段查询
procedure TForm1.ADODataSet1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
i:Integer;
begin
if Edit1.Text = '' then
Exit;
Accept := False;
for i := 0 to DataSet.Fields.Count-1 do
begin
if Pos(UpperCase(Edit1.Text),UpperCase(DataSet.Fields[i].AsString)) > 0 then
begin
Accept := True;
Break;
end;
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
ADODataSet1.Filtered := False;
ADODataSet1.Filtered := True;
end;
建议在要频凡使用查询且数据集中的数据不是很大的情况下,用DataSet组件,或Tabe给组,把所有数据读到内存中,用过滤,或定位的方法查询数据
这样做的好处是快,不会像SQL那样,产生很多临时Buff文件,如果用SQL语句的方式,会很快的数据库增大.特别是ACCESS库,最后不得已,再去压缩库.