首先,我想告诉你这种做法不太好,因为动态添加字段前要关闭数据集,
如果你的程序如此反复,速度可能不太理想,但要做也可以。
1、添加计算字段:
var a:tintegerfield;
begin
table1.close;
a:=tstringfield.create(application);
a.FieldKind:=fkCalculated;
a.FieldName:='Calc';
a.DataSet:=table1;
table1.Open;
end;
做完如上代码后,就在表中添加了一个计算字段,当然,你还得在OncalcFields
中进行具体的计算。
2、添加LOOKUP字段也像上面,只不过是FieldKing类型改成fkLoopUp就是行,但还得设一下它的LookupDataset,Lookupkeyfields等东东,以你的水平应该不难。
3、至于fieldking为fkdata类型的字段对象对应的就是物理数据库中的物理字段,
物理字段有几个那么它最多就只有几个,你干脆一开始就创建完毕就是了。
如果想在运行过程中修改库的结构什么的,比如修改物理字段的类型、大小等,
我想应该不大可能,除非是通过SQL语句。