TClientDataSet[3]: 手动建立数据集

本文介绍如何使用Delphi通过ClientDataSet组件创建数据集并进行数据操作的方法。包括添加字段、构建数据集、显示数据及保存为cds或XML文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


o_10012101.png

//放置控件: ClientDataSet1、DataSource1、DBGrid1、Button1, 然后

procedure TForm1.Button1Click(Sender: TObject);
begin
  { 添加字段 }
  with ClientDataSet1.FieldDefs.AddFieldDef do
  begin
    Name := 'ID';
    DataType := ftInteger;
  end;

  with ClientDataSet1.FieldDefs.AddFieldDef do
  begin
    Name := 'Name';
    DataType := ftString;
    Size := 12; { ftString 类型的 Size 默认 20 }
  end;

  with ClientDataSet1.FieldDefs.AddFieldDef do
  begin
    Name := 'Age';
    DataType := ftWord;
  end;

  with ClientDataSet1.FieldDefs.AddFieldDef do
  begin
    Name := 'Sex';
    DataType := ftBoolean;
  end;

  { 构建数据集, 不可缺少的一步 }
  ClientDataSet1.CreateDataSet;

  { 显示; 如果在设计时已挂接或不需要显示, 可省略下两行 }
  DataSource1.DataSet := ClientDataSet1;
  DBGrid1.DataSource := DataSource1;

  { 添加数据 }
  ClientDataSet1.AppendRecord([1, '张三', 33, True]);
  ClientDataSet1.AppendRecord([2, '李四', 44, False]);
  ClientDataSet1.AppendRecord([3, '王五', 55, True]);

  { 保存为 cds 或 XML }
  ClientDataSet1.SaveToFile('C:\Temp\TestBinary.cds');
  ClientDataSet1.SaveToFile('C:\Temp\TestXMLUTF8.xml', dfXMLUTF8);
end;

这个表的设计也可以在设计时完成:

o_10012102.gif

代码可另写为(下面这种方法简单, 但上一种方法可设置更多选项):
procedure TForm1.Button1Click(Sender: TObject);
begin
  { 添加字段 }
  with  ClientDataSet1.FieldDefs do
  begin
    Add('ID', ftInteger);
    Add('Name', ftString, 12);
    Add('Age', ftWord);
    Add('Sex', ftBoolean);
  end;

  { 构建数据集, 不可缺少的一步 }
  ClientDataSet1.CreateDataSet;

  { 显示; 如果在设计时已挂接或不需要显示, 可省略下两行 }
  DataSource1.DataSet := ClientDataSet1;
  DBGrid1.DataSource := DataSource1;

  { 插入数据 }
  ClientDataSet1.InsertRecord([1, '张三', 33, True]);
  ClientDataSet1.InsertRecord([2, '李四', 44, False]);
  ClientDataSet1.InsertRecord([3, '王五', 55, True]);

  { 保存为 cds 或 XML }
  ClientDataSet1.SaveToFile('C:\Temp\TestBinary.cds');
  ClientDataSet1.SaveToFile('C:\Temp\TestXMLUTF8.xml', dfXMLUTF8);
end;

转载于:https://www.cnblogs.com/del/archive/2010/01/21/1653060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值