Delphi:如何快速创建嵌入式数据源

Delphi:如何快速创建嵌入式数据源,delphi,datasource,Delphi,Datasource,我只想展示一下TDBCtrlGrid的可行性,我想尽快创建4条记录,TDBCtrlGrid应该访问这4条记录,以绘制4次自定义内容 您是如何做到这一点的?这是一个快速解决方案,可与TAdodataset或TClientDataset id一起使用,根据FieldDefs添加字段。添加并使用CreateDataSet创建/打开数据集 var i: Integer; begin ADODataSet.FieldDefs.Add('ID', ftInteger); ADODataSet.F

我只想展示一下TDBCtrlGrid的可行性,我想尽快创建4条记录,TDBCtrlGrid应该访问这4条记录,以绘制4次自定义内容


您是如何做到这一点的?

这是一个快速解决方案,可与TAdodataset或TClientDataset id一起使用,根据
FieldDefs添加字段。添加
并使用
CreateDataSet
创建/打开数据集

var
  i: Integer;
begin
  ADODataSet.FieldDefs.Add('ID', ftInteger);
  ADODataSet.FieldDefs.Add('Text', ftString, 50);
  ADODataSet.CreateDataSet;
  for i := 1 to 4 do
  begin
    ADODataSet.Append;
    ADODataSet.Fields[0].Value := 1;
    ADODataSet.Fields[1].Value := Format('Text %d', [i]);
    ADODataSet.Post;
  end;
end;

另一种解决方案是从资源流加载数据,该资源流是从一个事先设计和填充的数据集创建的,保存为XML

“另存为XML”表示访问磁盘。我只是希望它是暂时的,所有的内存。谢谢你的回答。至于ADODataSet,是我销毁它,还是由Delphi本身销毁(程序终止时释放所有内容的垃圾收集器)?如果由所有者或IDE创建,它将自动释放。另存为XML的意思是,如果您在另一个Program中有一个来自数据库的完整填充数据集,并且希望在演示中不使用数据库,则可以将其保存到文件中,创建嵌入演示中的资源,并直接从该资源加载记录集。非常感谢您的回答!现在一切正常,但我有另一个问题,我在这里或在新的问题上犹豫。我正在使用一个
DBCtrlGrid
并在
OnPaintPanel
事件中绘制所需的内容。问题是
DBCtrlGrid
似乎允许超出最后一条记录,因此我得到了
ADODataSet.RecNo<0
。在
OnPaintPanel
事件中,我试图尽快执行
if FADODataSet.RecNoMore信息:要查看最后一条记录,我必须按下
向下箭头
键或单击
DBCtrlGrid
中的“向下箭头”。