博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerDesigner comment与name相互复制
阅读量:7100 次
发布时间:2019-06-28

本文共 2457 字,大约阅读时间需要 8 分钟。

hot3.png

在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题:

  • 代码一:将Name中的字符COPY至Comment中
    Vb代码   
    1. Option   Explicit   
    2. ValidationMode   =   True   
    3. InteractiveMode   =   im_Batch  
    4. Dim   mdl   '   the   current   model  
    5. '   get   the   current   active   model   
    6. Set   mdl   =   ActiveModel   
    7. If   (mdl   Is   Nothing)   Then   
    8.       MsgBox   "There   is   no   current   Model "   
    9. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
    10.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
    11. Else   
    12.       ProcessFolder   mdl   
    13. End   If  
    14. '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view   
    15. '   of   the   current   folder   
    16. Private   sub   ProcessFolder(folder)   
    17.       Dim   Tab   'running     table   
    18.       for   each   Tab   in   folder.tables   
    19.             if   not   tab.isShortcut   then   
    20.                   tab.comment   =   tab.name   
    21.                   Dim   col   '   running   column   
    22.                   for   each   col   in   tab.columns   
    23.                         col.comment=   col.name   
    24.                   next   
    25.             end   if   
    26.       next  
    27.       Dim   view   'running   view   
    28.       for   each   view   in   folder.Views   
    29.             if   not   view.isShortcut   then   
    30.                   view.comment   =   view.name   
    31.             end   if   
    32.       next  
    33.       '   go   into   the   sub-packages   
    34.       Dim   f   '   running   folder   
    35.       For   Each   f   In   folder.Packages   
    36.             if   not   f.IsShortcut   then   
    37.                   ProcessFolder   f   
    38.             end   if   
    39.       Next   
    40. end   sub  
     

--------------------------------------------

         另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:

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

    Vb代码   
    1. Option   Explicit   
    2. ValidationMode   =   True   
    3. InteractiveMode   =   im_Batch  
    4. Dim   mdl   '   the   current   model  
    5. '   get   the   current   active   model   
    6. Set   mdl   =   ActiveModel   
    7. If   (mdl   Is   Nothing)   Then   
    8.       MsgBox   "There   is   no   current   Model "   
    9. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
    10.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
    11. Else   
    12.       ProcessFolder   mdl   
    13. End   If  
    14. Private   sub   ProcessFolder(folder)   
    15. On Error Resume Next  
    16.       Dim   Tab   'running     table   
    17.       for   each   Tab   in   folder.tables   
    18.             if   not   tab.isShortcut   then   
    19.                   tab.name   =   tab.comment  
    20.                   Dim   col   '   running   column   
    21.                   for   each   col   in   tab.columns   
    22.                   if col.comment="" then  
    23.                   else  
    24.                         col.name=   col.comment   
    25.                   end if  
    26.                   next   
    27.             end   if   
    28.       next  
    29.       Dim   view   'running   view   
    30.       for   each   view   in   folder.Views   
    31.             if   not   view.isShortcut   then   
    32.                   view.name   =   view.comment   
    33.             end   if   
    34.       next  
    35.       '   go   into   the   sub-packages   
    36.       Dim   f   '   running   folder   
    37.       For   Each   f   In   folder.Packages   
    38.             if   not   f.IsShortcut   then   
    39.                   ProcessFolder   f   
    40.             end   if   
    41.       Next   
    42. end   sub  
     

-----------------------------------------------------------------------

以上两段代码都是VB脚本,在PowerDesigner中使用方法为:

    PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

转载于:https://my.oschina.net/dongqianlin/blog/103134

你可能感兴趣的文章
Linux - 进程与内存查看
查看>>
高性能爬虫——asynicio模块
查看>>
Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。
查看>>
win10 字体渲染优化 色彩调整
查看>>
分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
查看>>
VC++:ActiveX Test Container
查看>>
iOS知识点汇总
查看>>
butterknife用法总结
查看>>
Win8 Metro(C#)数字图像处理--2.55OSTU法图像二值化
查看>>
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)
查看>>
Service Fabric本地开发部署修改数据目录
查看>>
php面试题
查看>>
Hexo NexT 博客本地搭建指南
查看>>
快速使用CSS Grid布局,实现响应式设计
查看>>
这并不是习惯,而是忍耐力变强了
查看>>
重看计算机基础1:数据线、地址线,按字、按字节寻址。
查看>>
oracle 11g亿级复杂SQL优化一例(数量级性能提升)
查看>>
Qt Md5应用示例
查看>>
tensorflow 笔记11:tf.nn.dropout() 的使用
查看>>
路由事件
查看>>