PowerDesigner 逆向中 Name和Comment互换

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

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

    [vb] view plain copy

    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] view plain copy

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

时间: 2024-07-31 04:12:58

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

powerdesigner 生成mysql PDM 的COMMENT注释

powerdesigner 生成mysql PDM 的COMMENT注释 默认的pd没有生成注释,针对mysql5.0可以如下修改.在Database-->edit Current DBMS... 设置dbms的属性,找到mysql5.0-->script-->objects-->column-->add 把原来的内容: %20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%?

PowerDesigner 的mysql PDM 的COMMENT注释

PowerDesigner 的mysql PDM 的COMMENT注释 2012-11-01 15:38 4447人阅读 评论(0) 举报 分类: 数据库相关(7) PowerDesigner 的mysql PDM 的COMMENT注释 一 . 生成注释 默认的pd没有生成注释,针对mysql5.0可以如下修改. 在Database-->edit Current DBMS... 设置dbms的属性,找到mysql5.0-->script-->objects-->column--&g

将两个变量中的值进行互换的几种方法

 在做软件开发的过程中,经常需要将两个变量中的数值进行互换.我们可以使用的互换方法有三种. 第一种方法: int a = 3, b = 4;int tmp; tmp = a;a = b;b = tmp;   这种做法,是我们经常用到的做法,就是通过借助第三变量.             优点是:可读性强.             缺点是:引入第三方变量,占用内存大. 第二种方法: int a = 3, b = 4; a = a + b ; // a = 7;   原理是利用两个数的和  a +

利用VBA把PowerDesigner的name复制到comment

代码如下: Option Explicit '------------------------------------------------------------------------------- '作用:PowerDesigner物理模型复制name到comment ' '作者: Lio5n '时间: 2015-12-18 ' '版本: V1.0 ' '说明:如果comment有值,不会覆盖:可以重复执行,不会多次复制 '--------------------------------

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

如何将图片和声音转化成byte[],并通过webservice进行传输?    如何将webservice传输过来的byte[],转化成我们想要的文件?    (一)文件转化为byte[]    方法一:使用MemoryStream(MemoryStream的数据来自内存中缓冲区)    System.IO.MemoryStream m = new System.IO.MemoryStream();    System.Drawing.Bitmap bp = new System.Drawing

两个变量中的值进行互换的方法

在软件开发的过程中,经常会将两个变量中的值进行互换.那么两个变量中的值进行互换的方法有几种呢? 常见的两个变量中的值互换的方法有三种,下面将进行一一介绍,当是一个总结. 第一种方法: int a = 3, b = 4; int tmp; tmp = a; a   = b; b   = tmp; 这种方法的优点是:代码可读性强,容易理解. 缺点是:使用第三方变量,浪费内存: 第二种方法: int a = 3, b = 4; a = a + b;   b = a - b;    a = a - b;

逆向课程第三讲逆向中的优化方式,以及加减乘

逆向课程第三讲逆向中的优化方式,以及加减乘 一丶为什么要熟悉优化方式 熟悉优化方式,可以在看高级代码的时候浮现出汇编代码,以及做逆向对抗的时候,了解汇编代码混淆 优化和混淆是相反的 优化: 指的是汇编代码越少越好,让程序更快的执行 混淆: 一条汇编代码变为多条汇编代码,影响逆向人员的破解能力,但是软件的效率大大降低 二丶加减乘的常见的几种优化方式 优化方式分为: 1.常量折叠 2.常量传播 3.变量去除 这些优化方式成为窥孔优化 (有10几种后面会一一到来) 首先了解什么是常量折叠,常量传播,然

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

逆向中静态分析工具--IDA初学者笔记 //******************************************************************************//IDA初学者笔记 //******************************************************************************//作者:Cai//日期:2011-10-18//**********************************

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

逆向中静态分析工具--IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这个突破点,往往就是一个Messagebox,因为这个Messagebox可以很直观的 让我们知道当前位置的代码负责哪些功能,而同时Messagebox可以提供一个字符串让我们来查找定位. 首先,打开IDA,主菜单View-Open subviews-strings: 这时出来一个strings窗口,