//放置控件: 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;
这个表的设计也可以在设计时完成:
代码可另写为(下面这种方法简单, 但上一种方法可设置更多选项):
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;