日期:2014-05-16  浏览次数:20364 次

如何在POWERDESIGNER中将备注产生到数据库中
一 PD12.5 生成 PB 中table的扩展属性
首先

第一步

model-->modele   extended   definition     定义扩展属性

窗口里倒数第二个钮,import an EXtended Model Definition

勾选 PowerBuilder

然后第二步

tools->powerbulider->generate   extended   attributes


就OK 了

如果提示

"model   does   not   contain   the   powerbuilder   extended 
  model   definition!you   need   to   add   it   to   the   model   
  if   you   wish   to   generate   or   reverse   powerbuilder   extend   attributes." 

就是第一步,没有设置好

如果生成不成功,可以将不显示中文的表删除,然后执行PB数据库面板上的清理系统的选项,然后再生成就可以了,

删除PB的系统表是下下策,因为我们有时会用程序在里面写入很多东西,如下拉窗或表达式什么的,删除怎么能行.

PB已经提供了清理系统表的功能.在PB面板的某一个菜单下,designer->Synch extended attributes



二 如何将name产生到备注的代码
执行方法:Open PDM -- Tools -- Execute Commands -- Run Script

Option Explicit 
ValidationMode = True 
InteractiveMode = im_Batch 
 
Dim mdl 'the current model 
 
'get the current active model 
Set mdl = ActiveModel 
If (mdl Is Nothing) Then 
MsgBox "There is no current Model" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then 
MsgBox "The current model is not an Physical Data model." 
Else 
ProcessFolder mdl 
End If 
 
'This routine copy name into code for each table, each column and each view 
'of the current folder 
Private sub ProcessFolder(folder) 
Dim Tab 'running table 
for each Tab in folder.tables 
if not tab.isShortcut then 
tab.comment = tab.name 
Dim col 'running column 
for each col in tab.columns 
col.comment= col.name 
next 
end if 
next 
 
Dim view 'running view 
for each view in folder.Views 
if not view.isShortcut then 
view.comment = view.name 
end if 
next 
 
'go into the sub-packages 
Dim f 'running folder 
For Each f In folder.Packages 
if not f.IsShortcut then 
ProcessFolder f 
end if 
Next 
end sub

本人按照以上过程,成功,特来分享。转自:http://blog.163.com/china_3k/blog/static/26077493201142061557209/