|
发表于 2007-5-17 16:45:34
|
显示全部楼层
修改数据表实际是对平台中业务模型资源的修改。需要以下几步来完成:
1、指定这个表对象
2、修改结构定义
3、重新生成逻辑表
4、重启刷新业务模型资源
以下代码是用来创建逻辑表资源的,请参考:
{ABizTableDef表结构定义, ADBURL数据库URL, ACreateNew是否新建}
procedure CreateLogicTable(ABizTableDef: TBizTableDef; ADBURL : String;
ACreateNew: Boolean);
var
lDesc: TTableDefDesc;
lCreator: TTableDefCreator;
lBizTableDef : TBizTableDef;
begin
lDesc := TTableDefDesc.Create(nil);
lDesc.LanguageExt := '.pas';
lDesc.FileName := ABizTableDef.ID + '.Table';
lDesc.DisplayName := ABizTableDef.DisplayName;
if ACreateNew then
lDesc.CreateMode := Business.Forms.TCreateMode.cmNew
else lDesc.CreateMode := Business.Forms.TCreateMode.cmRecreate; //修改
lBizTableDef := lDesc.TableDef; //用lbiztabledef替换temptabledef,需要单独释放temptabledef
lDesc.TableDef := ABizTableDef;
lCreator := TTableDefCreator.Create;
try
lCreator.Execute(Business.Model.BizSys.ObjectInfo(ADBURL).BizURL, lDesc,
BizSys.GlobalContext);
lCreator.Save;
finally
lDesc.TableDef := lBizTableDef;
lDesc.Free;
lCreator.Free;
end;
end; |
|