powerDesigner 把name项添加到注释(comment),完美方案!

 

第一次写博客,分享一点经验吧,平时大家用powerDesigner的时候,pd是不会把name项默认添加到comment的,所以生成的数据库表里面也没有中文字段的注释.

我在网上查了一下.有解决方案了.

以下是网上的解决方案,我把它完善了一下.

'使用方法使用方法
'PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

可以保存该脚本为:name2comment.vbs

' 把pd中那么name想自动添加到comment里面
'
如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失.

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   comment   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  
          if  trim(tab.comment)="" then ' 如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.   
                    tab.comment    =    tab.name   
          end if  
                  
Dim    col    '    running   column    
                   for     each    col   in   tab.columns   
                        
if   trim (col.comment) = ""   then   ' 如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.
                           col.comment =    col.name   
                        
end   if  
                  
next     
            
end     if     
      
next     
  
      
Dim    view    ' running   view    
       for     each    view   in   folder.Views    
            
if     not    view.isShortcut  and   trim (view.comment) = ""    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   

 

代码二:将Comment中的字符COPY至Name中

None.gifOption Explicit
None.gifValidationMode   = True
None.gifInteractiveMode   =   im_Batch
None.gif
None.gifDim   mdl   '   the   current   model
None.gif
None.gif'   get   the   current   active   model
None.gifSet   mdl   =   ActiveModel
None.gifIf   (mdl   Is Nothing)   Then
None.gif MsgBox "There   is   no   current   Model "
None.gifElseIf Not   mdl.IsKindOf(PdPDM.cls_Model)   Then
None.gif MsgBox "The   current   model   is   not   an   Physical   Data   model. "
None.gifElse
None.gif      ProcessFolder   mdl
None.gifEnd If
None.gif
None.gifPrivate sub   ProcessFolder(folder)
None.gifOn Error Resume Next
None.gif Dim   Tab   'running     table
None.gif for each   Tab   in   folder.tables
None.gif if not   tab.isShortcut   then
None.gif                  tab.name   =   tab.comment
None.gif Dim   col   '   running   column
None.gif for each   col   in   tab.columns
None.gif if col.comment="" then
None.gif else
None.gif                        col.name=   col.comment
None.gif end if
None.gif next
None.gif end if
None.gif next
None.gif
None.gif Dim   view   'running   view
None.gif for each   view   in   folder.Views
None.gif if not   view.isShortcut   then
None.gif                  view.name   =   view.comment
None.gif end if
None.gif next
None.gif
None.gif '   go   into   the   sub-packages
None.gif Dim   f   '   running   folder
None.gif For Each   f   In   folder.Packages
None.gif if not   f.IsShortcut   then
None.gif                  ProcessFolder   f
None.gif end if
None.gif Next
None.gifend sub

 

当我们设计好数据库以后,再执行它,ok,你的数据库的说明字段都有了.是不是 很方便呢!

 注:以上的代码复制进去后可能会出错,把一些空格删除,再添加空格就可以了。

 

转:http://www.cnblogs.com/dukey/archive/2010/01/20/dukey.html

 

转载于:https://www.cnblogs.com/chencidi/archive/2011/01/10/1931661.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值