转-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进行操作

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

power desinger 学习笔记<八>的更多相关文章

  1. power desinger 学习笔记<四>

    Tools <display preferences> <content table> <advanced> Columns 选择放大镜图标 进入窗口 选择要顺序显 ...

  2. power desinger 学习笔记三<批量执行sql语句>

    使用sql脚本导入表结构,直接 附带表的 约束.列的注释.真的可以哦 sql语句如下: create table test01 (   ID                   VARCHAR2(10 ...

  3. power desinger 学习笔记<二>

    power designer 设计表时显示注释选项 PowerDesigner设计时表显示注释选项: 选定编辑的表,右键- > Properties- > Columns- > Cu ...

  4. power desinger 学习笔记<一>

    如果一张表有 很多字段(多于30个),那么一个一个复制粘贴,耗时耗力.可以偷懒,事先编辑好 sql脚本,然后把sql脚本导入 power designer,是不是很方便?  看下面的 1. 打开Pow ...

  5. power desinger 学习笔记<六>

    原帖地址:http://blog.csdn.net/spt110/article/details/8640849 PowerDesigner中Table视图同时显示Code和Name,像下图这样的效果 ...

  6. power desinger 学习笔记<五>

    怎样才能在修改表的字段Name的时候,Code不自动跟着变 tools-> General   Options-> Dialog:Operation   Modes: 去掉 NameToC ...

  7. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  8. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  9. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

随机推荐

  1. 截断WM_SYSCOMMAND的SC_CLOSE命令(VC与Delphi双版本)

    WM_SYSCOMMAND - 系统命令消息,当点击最大化按钮,最小化按钮,关闭按钮等.都会收到这个消息.常用于窗口关闭时提示用户处理.WPARAM - 具体的命令,例如 关闭 SC_CLOSELPA ...

  2. 《Effective C++》条款26 防卫潜伏的ambiguity模棱两可的状态

    每个人都有思想.有些人相信自由经济学,有些人相信来生.有些人甚至相信COBOL是一种真正的程序设计语言.C++也有一种思想:它认为潜在的二义性不是一种错误.ambiguity 这是潜在二义性的一个例子 ...

  3. 双11不再孤单,结识ECharts---强大的常用图表库

    又是一年双十一,广大单身狗们有没有很寂寞(好把,其实我也是)!但是这次的双十一,我不再孤单,因为结识了一个js的强大的图表库---ECharts. 最近做软件工程项目的时候,由于设计图中有柱状图和饼图 ...

  4. sql2005中如何启用SA账号

    如下图

  5. poj 2312 Battle City【bfs+优先队列】

      Battle City Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7579   Accepted: 2544 Des ...

  6. 362. Design Hit Counter

    这个傻逼题..我没弄明白 you may assume that calls are being made to the system in chronological order (ie, the ...

  7. c#基础编程—泛型

    一.引言 泛型的主要思想是将算法与数据结构完全分离开,使得一次定义的算法能作用于多种数据结构,从而实现高度可重用的开发.泛型,通过参数类型化来实现在同一份代码中操作多种数据类型,利用“参数化类型”将类 ...

  8. 学习了几天的jQuery Mobile的一点感受

    一.Write less  Do more! 这好像就是jQuery Mobile的口号吧.基于jQuery类库的jQuery Mobile移动web插件,有了这个轻量级插件后,排版方便了许多,很多样 ...

  9. Debian自启动知识 2015-03-31 20:23 79人阅读 评论(0) 收藏

    Debian6添加了insserv用来代替update-rc.d.update-rc.d 就不多做介绍. Debian6里边要添加一个自动启动的服务需要先将启动脚本放在/etc/init.d,然后使用 ...

  10. HUNNU--湖师大--11409--Skill

    Skill Yasser is an Egyptian coach; he will be organizing a training camp in Jordan. At the end of ca ...