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

为什么80%的码农都做不了架构师?>>>   hot3.png


TClientDataSet[3]: 手动建立数据集_第1张图片

//放置控件: 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;

 
 
 
 
 

 

 

  

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

TClientDataSet[3]: 手动建立数据集_第2张图片

代码可另写为(下面这种方法简单, 但上一种方法可设置更多选项):
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://my.oschina.net/hermer/blog/320721

你可能感兴趣的:(TClientDataSet[3]: 手动建立数据集)