zoukankan      html  css  js  c++  java
  • power desinger 学习笔记<八>

    转-PowerDesigner 把Comment复制到name中和把name复制到Comment

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

    在PowerDesigner中使用方法为:

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

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

    [vb] view plaincopyprint?
    '代码一:将Name中的字符COPY至Comment中  

      

    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,可以使用以下脚本:

      1. '代码二:将Comment中的字符COPY至Name中   
      2.   
      3. Option   Explicit   
      4. ValidationMode   =   True   
      5. InteractiveMode   =   im_Batch  
      6.   
      7. Dim   mdl   '   the   current   model  
      8.   
      9. '   get   the   current   active   model   
      10. Set   mdl   =   ActiveModel   
      11. If   (mdl   Is   Nothing)   Then   
      12.       MsgBox   "There   is   no   current   Model "   
      13. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      14.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
      15. Else   
      16.       ProcessFolder   mdl   
      17. End   If  
      18.   
      19. Private   sub   ProcessFolder(folder)   
      20. On Error Resume Next  
      21.       Dim   Tab   'running     table   
      22.       for   each   Tab   in   folder.tables   
      23.             if   not   tab.isShortcut   then   
      24.                   tab.name   =   tab.comment  
      25.                   Dim   col   '   running   column   
      26.                   for   each   col   in   tab.columns   
      27.                   if col.comment="" then  
      28.                   else  
      29.                         col.name=   col.comment   
      30.                   end if  
      31.                   next   
      32.             end   if   
      33.       next  
      34.   
      35.       Dim   view   'running   view   
      36.       for   each   view   in   folder.Views   
      37.             if   not   view.isShortcut   then   
      38.                   view.name   =   view.comment   
      39.             end   if   
      40.       next  
      41.   
      42.       '   go   into   the   sub-packages   
      43.       Dim   f   '   running   folder   
      44.       For   Each   f   In   folder.Packages   
      45.             if   not   f.IsShortcut   then   
      46.                   ProcessFolder   f   
      47.             end   if   
      48.       Next   
      49. end   sub  
      50.     原帖地址:http://blog.csdn.net/smartsmile2012/article/details/7922863
  • 相关阅读:
    习题2.4 递增的整数序列链表的插入(15 分)浙大版《数据结构(第2版)》题目集
    杭电 KazaQ's Socks
    B. Beautiful Paintings
    java之接口
    java之模板方法设计模式
    java之抽象类
    java之final关键字
    java之匿名内部类
    jvaa之初始化块
    java之单例设计模式
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/5125207.html
Copyright © 2011-2022 走看看