起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 275|回复: 4

【结贴】用代码生成物理表

[复制链接]
发表于 2010-7-16 21:24:25 | 显示全部楼层 |阅读模式
以前问过用代码生成数据字典,现在在stdio中建了若干表但没有生成物理表,请问用代码怎么生成物理表,我不想一个个的在开发工具中点击,因为表太多了.而且开发工具生成物理表向导有时老卡,请问用代码怎么生成物理表,强制新建就行.
回复

使用道具 举报

发表于 2010-7-19 11:22:58 | 显示全部楼层
楼主,没必要代码去做吧,也不用一个个点或者选的。
直接在studio中的逻辑数据库上右键--创建物理表,然后直接添加 逻辑数据库 这个节点的,这样会把它下面所有的数据表选过去。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-19 22:27:41 | 显示全部楼层
就是想用代码生成物理表,因为我们从excel表中把一千多张表的物理表结构给放到了一张我们自己做的字段对照表中,字段对照表中有如下字段:中文表名,英文表名,中文字段名,英文字段名,字段类型,字段大小,小数据位数据,是否主键,是否必填,等一些信息,我用你们教的方法实现了在X3中利用代码生成数据字典,但是没生成物理表,所以我想问的是如何用代码生成物理表,这样直接就实现了表的创建,还请告诉如何用代码生成物理表,另外用代码生成的数据字典都是在数据库下面,我想问如何指定数据字典生成后的路径,如数据库下有一个文件夹名为计划,我想把数据字典放到它下面,用代码怎么实现?两个问题还请回答,谢谢
回复 支持 反对

使用道具 举报

发表于 2010-7-20 14:05:38 | 显示全部楼层
请楼主参考下面的代码
procedure TMainForm.Button1Click(Sender: TObject);
var
  lTa: TTableDefSchemaTable;
  lbizTab: TBizTableDef;
  lbuilder: TTableBuilder;
  lConnection: TConnection;
  lBizURL: TBizURL;
begin
  lConnection := DataSetBZSJJ1.Connection;
  lBuilder := TTableBuilder.Create;
  lBizURL := TBizURL.Create;
  try
    lBizURL.URL := 'Biz:\TESTSPACE\TESTDB.DATABASE\LCCS.TABLE';
    lBizTab := TBizTableDef(BizSys.BizSystem.GetBizObject(lBizURL));
    lTa := TTableDefSchemaTable.Create(lBizTab, lConnection.Meta.DataProvider);
    lBuilder.CreateTable(lConnection, lTa, TCreateMode.cmtCreate, True);
  finally
    lBizURL.Free;
    lBuilder.Free;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-20 20:19:01 | 显示全部楼层
我试一下吧,谢谢了,先结帖吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 23:17 , Processed in 0.038955 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表