//使用 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;