zoukankan      html  css  js  c++  java
  • PowerDesigner之设置(2)——扩展属性

    数据库:SQL2000

    PD版本:16

    PowerDesigner之设置(1)中,创建表的表头注释部分由于中文的原因无法定长,这里我们用PD的扩展方法来解决。

    具体方法如下:

    1. 主菜单DataBase->Edit Current DBMS->Profile-> Table-> Extended Attributes右键new菜单添加一个属性,下面添加一个TableName30属性,勾选Computed,则会自动显示方法标签页,这个方法用来重写表名行注释,这里就用了只读方法就可以了,勾选Read Only

    2. 切换到Global Script标签页,这里面的是全局脚本,我们添加一个获取字符串中汉字个数的方法GetHanziNum,如下:
      '获取字符串中汉字总数
      Function GetHanziNum(sStr)
         '汉字总数
         Dim Sum
         '循环数
         Dim c
         '表名中字符
         Dim Char
         Sum = 0
         For c = 1 To Len(sStr)
            Char = Mid(sStr, c, 1)
            If (AscW(Char) > -40870 And AscW(Char) < -19967) Or (AscW(Char) < 40870 And AscW(Char) > 19967) Then
               Sum = Sum + 1
            End If
         Next
         GetHanziNum=Sum
      End Function
      View Code

    3. 切换到Get Method Script标签页,写该属性的返回值。
      Function %Get%(obj)
         ' Implement your getter method on <obj> here
         ' and return the value
      
         '表名名称,表名代码
         Dim tableName,tableCode
         '拼接字符串
         Dim str
         tableName=obj.name
         tableCode=obj.code  
         str="/* Table: "_     
            & left(tableCode & "               ",15)_    
            & left(tableName & "                                     ",39-GetHanziNum(tableName))_   
            & "*/"     
         %Get% = str
      End Function
      View Code

    4. 修改table的create值。

      主菜单DataBase->Edit Current DBMS->Script->Objects->Table->CreateValue修改。

      将其中的表头注释部分修改为:

      /*==============================================================*/

      %TableName30%

      /*==============================================================*/

      综上,大功告成!

      下面展现下效果:

      汉字与英文结合也不受影响。如下:

  • 相关阅读:
    MFC加载图片
    动态数组类
    MFC程序打包方法
    如何在C++中使用动态三维数组
    Ansys热应力计算
    像使用数据库一样使用xml
    过年回家的一点感想
    前后端框架和设计模式
    国外支付PayPal
    可重用的管理后台代码
  • 原文地址:https://www.cnblogs.com/liuke1987/p/3232333.html
Copyright © 2011-2022 走看看