Delphi7 TClientDataSet作为内存数据集合使用

发布时间 2023-07-24 10:53:34作者: jhoncooper

IDE:Delphi7

使用TClientDataSet控件在Delphi中保存内存数据集合(相当于Java中的List<Map>),代码片段:

procedure TMainForm.btnExportClick(Sender: TObject);
  tmpCds:TClientDataSet;
  tmpStr:string;
begin

   //TClientDataSet作为内存数据集合使用
  //***************************************************
  try
  tmpCds := TClientDataSet.Create(Application);
  if(tmpCds<>nil) then
    begin
      tmpCds.FieldDefs.Add('col1', ftString,10);
      tmpCds.FieldDefs.Add('col2', ftString,10);
      tmpCds.CreateDataSet;
//插入数据
with tmpCds do begin Insert; fieldbyname('col1').AsString := '总行程:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.getyearMiles()); next; insert; fieldbyname('col1').AsString := '总加油量:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.gettotalOilBuy()); next; insert; fieldbyname('col1').AsString := '总平均油耗:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.getyearAvgOilExpense()); end; tmpCds.Post;
//读取数据
with tmpCds do begin open; first; while not tmpCds.Eof do begin tmpStr := fields[0].Value; OutputDebugString(PChar(tmpStr)); tmpStr := fields[1].Value; OutputDebugString(PChar(tmpStr)); next; end; end; end; finally tmpCds.Free; end; end;