TClientDataSet中关于TField、TFieldDef动态创立字段的应用

//使用 TFieldDef 建表:  
begin 
 with ClientDataSet1.FieldDefs do 
 begin 
  Add('Name' , ftString, 12, True); { True 表示是必填字段 } 
  Add('Age', ftInteger); 
 end; 
 ClientDataSet1.CreateDataSet; 
end; 
 
//使用 TField(这里是用其子类)建表: 
begin 
 with TStringField.Create(Self) do 
 begin 
  FieldName := 'Name'; 
  Size := 12; 
  Required := True; { 必填字段 } 
  DataSet := ClientDataSet1; 
 end; 
 with TIntegerField.Create(Self) do 
 begin 
  FieldName := 'Age'; 
  DataSet := ClientDataSet1; 
 end; 
 ClientDataSet1.CreateDataSet; 
end; 
 
//混合使用(这好像就是设计时的情形): 
var 
 F: TIntegerField; 
begin 
 with ClientDataSet1.FieldDefs.AddFieldDef do 
 begin 
  Name := 'Name'; 
  DataType := ftString; 
  Size := 12; 
  Required := True; 
  CreateField(ClientDataSet1); 
 end; 
 with ClientDataSet1.FieldDefs.AddFieldDef do 
 begin 
  Name := 'Age'; 
  DataType := ftInteger; 
  { 指定最大值和最小值 } 
  F := CreateField(ClientDataSet1) as TIntegerField; 
  F.MinValue := 0; 
  F.MaxValue := 150; 
 end; 
 ClientDataSet1.CreateDataSet; 
end; 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值