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

  • 代码一:将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,可以使用以下脚本:

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

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

PowerDesigner 逆向中 Name和Comment互换的更多相关文章

  1. PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word

    PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...

  2. PowerDesigner 的mysql PDM 的COMMENT注释

    PowerDesigner 的mysql PDM 的COMMENT注释 2012-11-01 15:38 4447人阅读 评论(0) 举报 分类: 数据库相关(7) PowerDesigner 的my ...

  3. android apk 逆向中常用工具一览

    关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar  baksmali ...

  4. C#中文件和byte[]互换问题

    如何将图片和声音转化成byte[],并通过webservice进行传输?    如何将webservice传输过来的byte[],转化成我们想要的文件?    (一)文件转化为byte[]    方法 ...

  5. 逆向中静态分析工具——IDA初学者笔记之字符串分析

    逆向中静态分析工具——IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这 ...

  6. 逆向中静态分析工具——IDA初学者笔记

    逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...

  7. 安卓日常开发和逆向中常用的shell命令与非shell命令

    简述shell 命令与 非shell命令区别 shell命令不用先adb shell进入界面执行 非shell命令必须要 adb shell进入界面执行 基础非shell命令 1.安装app adb ...

  8. RPC 技术及其框架 Sekiro 在爬虫逆向中的应用,加密数据一把梭!

    什么是 RPC RPC,英文 RangPaCong,中文让爬虫,旨在为爬虫开路,秒杀一切,让爬虫畅通无阻! 开个玩笑,实际上 RPC 为远程过程调用,全称 Remote Procedure Call, ...

  9. PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

    原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...

随机推荐

  1. 写自己的ASP.NET MVC框架(上)

    http://www.cnblogs.com/fish-li/archive/2012/02/12/2348395.html 阅读目录 开始 ASP.NET程序的几种开发方式 介绍我的MVC框架 我的 ...

  2. VS2010 中 Entity Framework 多数据库并存方法

    选中相应数据库生成的 *.edmx文件,然后在属性中找到“自定义工具命名空间”,为每个EF数据集设置不同的命名空间,这样每个数据库生成的代码就会被隔离在不同的命名空间,即使同名类型也就不会相互影响了.

  3. Imagenet tools install on windows

    1.find the pyrcc4.exe path: C:\Anaconda2\Library\bin 2.cmd: pyrcc4 -o resources.py resources.qrc 3.a ...

  4. window.showModalDialog的简单实践

    Super.jsp - 父窗口 <%@ page language="java" import="java.util.*" pageEncoding=&q ...

  5. LeetCode "477. Total Hamming Distance"

    Fun one.. the punch line of this problem is quite common in Bit related problems on HackerRank - vis ...

  6. MySQL binlog的格式解析

    我搜集到了一些资料,对理解代码比较有帮助. 在头文件中binlog_event.h中,有描述 class Log_event_header class Log_event_footer 参见[Myst ...

  7. 浅谈mybatis中的#和$的区别

    1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...

  8. Gulp安装及配合组件构建前端开发一体化

    原文:http://www.dbpoo.com/getting-started-with-gulp/ 所有功能前提需要安装nodejs(本人安装版本v0.10.26)和ruby(本人安装版本1.9.3 ...

  9. Eclipse FreeMarker 插件安装

    方法一:手动安装 手动安装没有成功 步骤: 1. 下载freemarker-ide : http://sourceforge.net/projects/freemarker-ide/files/ 2. ...

  10. OAF_开发系列01_实现OAF资料主从关系Master-Detail联动(案例)

    2014-06-02 Created By BaoXinjian