单条件多字段查询

单条件多字段查询


 

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库,最后不得已,再去压缩库.


你可能感兴趣的:(查询)