delphi FireDAC 数据集快速遍历方式

发布时间 2023-09-11 19:07:25作者: txgh

FireDAC 数据集快速遍历方式

代码

遍历数据集

procedure TForm1.Button1Click(Sender: TObject);
var
  vTick: DWORD;
  I: Integer;
  vCount: Integer;
begin
  //查询数据
  FDQuery1.Open('SELECT * FROM tceshi');
  //获取全部数据
  FDQuery1.FetchAll;
  //通过Next方法循环遍历
  vTick := GetTickCount;
  vCount := 0;
  FDQuery1.First;
  while not FDQuery1.Eof do
  begin
    //取值计算
    if FDQuery1.FieldByName('ID').AsInteger > 10000 then
      Inc(vCount);
    FDQuery1.Next;
  end;
  Memo1.Lines.Add(Format('耗时:%f 秒', [(GetTickCount - vTick) / 1000]));
  Memo1.Lines.Add('ID大于10000的记录数 ' + vCount.ToString);
  //通过Table.Rows方法循环遍历
  vTick := GetTickCount;
  vCount := 0;
  for I := 0 to FDQuery1.Table.Rows.Count - 1 do
  begin
    //取值计算
    if FDQuery1.Table.Rows[I].ValueS['ID'] > 10000 then
      Inc(vCount);
  end;
  Memo1.Lines.Add(Format('耗时:%f 秒', [(GetTickCount - vTick) / 1000]));
  Memo1.Lines.Add('ID大于10000的记录数 ' + vCount.ToString);  
end;

方法

FireDAC.Comp.DataSet.TFDDataSet.Table

property Table: TFDDatSTable;

Unit

FireDAC.Comp.DataSet

返回对 TFDDatSTable 对象的引用。它是包含所有数据集行的内部数据存储。

当调用 Open 时,FireDAC 会自动为每个数据集创建一个表。如果表是自动创建的,则在数据集关闭后它将被销毁。