转-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. c# 函数练习;结构体、枚举类型

       * 结构体 1.就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 注意:枚举类型和结构体都属于值类型. 2.定义的方法: struct student { public in ...

  2. c++类型转换Type Cast)

    C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a.C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用. const_cast, ...

  3. Java判断空字符串

    今天碰到java中去判断String是否为空字符串的时候,用了S.length() ==0, s.equals(null), s.isEmpty(), 都失败. 后来用S.trim().equals( ...

  4. Candies(差分约束)

    http://poj.org/problem?id=3159 题意: flymouse是幼稚园班上的班长,一天老师给小朋友们买了一堆的糖果,由flymouse来分发,在班上,flymouse和snoo ...

  5. maven错误解决:编码GBK的不可映射字符

    直接将项目改为UTF-8编码,无效! 要通过修改pom.xml文件,告诉maven这个项目使用UTF-8来编译. 方案一: 在pom.xml的/project/build/plugins/下的编译插件 ...

  6. Light OJ 1032 - Fast Bit Calculations(数位DP)

    题目大意: 一个数字把他看成二进制数字,数字里又会一些相邻的1,问从0到n至间所有相邻1的总和是多少?   分解成2进制数字,然后数位DP就行了.   ======================== ...

  7. 【转】Android应用程序完全退出

    原文网址:http://www.yoyong.com/archives/199 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://s ...

  8. Linux Eclipse代码提示功能设置(Java & C/C++)

    最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...

  9. nginx主配置文件 在那找怎么打开

  10. bzoj 1026 [SCOI2009]windy数(数位DP)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4550  Solved: 2039[Submit][Sta ...