怎样才能将数据库中表PBCATCOL的PBC_LABL字段的值反向到PDM对应的NAME?
来源:互联网 发布:js二维数组列数不同 编辑:程序博客网 时间:2024/05/17 04:14
PowerDesigner可以将PDM的NAME值写入数据库的PBCATCOL表中相应的几个字段,但我现在通过PD的Resever Engineer功能将数据库的表反向到PDM中,怎样才能使当时生成在表PBCATCOL中的相应NAME值同时反向到PDM的NAME(我想要是的中文)。
先谢了!
先谢了!
回复人:不愿放弃(byfq)2004-12-2 12:36:37
PowerDesigner数据库系统分析设计与应用 姜江著 一书中写有,有点复杂,记不清楚了,你可以找找看看
回复人:阿飞(nbnasom)2004-12-3 14:37:37
学习ING
回复人:【最后一滴水】(am2000)2004-12-4 22:33:52
Tools-PowerBuilder-Reverse Extended Attributes
回复人:【最后一滴水】(am2000)2004-12-4 23:33:48
我也碰到这个问题。
我现已通过逆向工程将数据库中的LABEL、HEADER、COMMENT逆向到PDM的Extended attributes中了。
但我不知道如何将Label赋值到NAME.
我现已通过逆向工程将数据库中的LABEL、HEADER、COMMENT逆向到PDM的Extended attributes中了。
但我不知道如何将Label赋值到NAME.
回复人:【最后一滴水】(am2000)2004-12-4 23:45:44
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model."
Else
ProcessFolder mdl
End If
' This routine copy name into code for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
dim ls_NameTemp
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
'tab.code = tab.name
if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
ls_NameTemp = Tab.name
end if
end if
if len(ls_NameTemp) < 8 then
Tab.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + Tab.code
else
Tab.name = ls_NameTemp + Space( 2 ) + Tab.code
'考虑名称相同出现的异常
end if
On Error Resume Next
Dim col ' running column
for each col in tab.columns
'col.code= col.name
if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
ls_NameTemp = col.name
end if
end if
if len(ls_NameTemp) < 6 then
'col.name = ls_NameTemp + Space( (8 - len(ls_NameTemp)) * 2 ) + col.code
col.name = ls_NameTemp + left( " ",6 - len(ls_NameTemp) ) + col.code
else
'col.name = ls_NameTemp + Space(2) + col.code
col.name = ls_NameTemp + left( " ",1) + col.code
'考虑名称相同出现的异常
end if
On Error Resume Next
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
'view.code = view.name
if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
ls_NameTemp = view.name
end if
end if
if len(ls_NameTemp) < 8 then
view.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + view.code
else
view.name = ls_NameTemp + Space( 2 ) + view.code
'考虑名称相同出现的异常
end if
On Error Resume Next
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model."
Else
ProcessFolder mdl
End If
' This routine copy name into code for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
dim ls_NameTemp
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
'tab.code = tab.name
if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
ls_NameTemp = Tab.name
end if
end if
if len(ls_NameTemp) < 8 then
Tab.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + Tab.code
else
Tab.name = ls_NameTemp + Space( 2 ) + Tab.code
'考虑名称相同出现的异常
end if
On Error Resume Next
Dim col ' running column
for each col in tab.columns
'col.code= col.name
if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
ls_NameTemp = col.name
end if
end if
if len(ls_NameTemp) < 6 then
'col.name = ls_NameTemp + Space( (8 - len(ls_NameTemp)) * 2 ) + col.code
col.name = ls_NameTemp + left( " ",6 - len(ls_NameTemp) ) + col.code
else
'col.name = ls_NameTemp + Space(2) + col.code
col.name = ls_NameTemp + left( " ",1) + col.code
'考虑名称相同出现的异常
end if
On Error Resume Next
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
'view.code = view.name
if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
ls_NameTemp = view.name
end if
end if
if len(ls_NameTemp) < 8 then
view.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + view.code
else
view.name = ls_NameTemp + Space( 2 ) + view.code
'考虑名称相同出现的异常
end if
On Error Resume Next
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
- 怎样才能将数据库中表PBCATCOL的PBC_LABL字段的值反向到PDM对应的NAME?
- PowerDesigner从数据库中反向生成PDM,Name不显示字段说明的解决方法
- PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name
- PowerDesigner15的PDM中表图显示NAME和CODE
- 将toad里的数据库结构导出到pdm
- 将数据库中表的数据保存到XML文件中
- Powerdesigner16.5将物理模型表中的name在创建数据库时生成对应字段的注释
- Powerdesigner16.5将物理模型表中的name在创建数据库时生成对应字段的注释
- 获得数据库中表,字段的详细信息
- 调整Oracle数据库中表字段的顺序
- 改变DB2数据库中表的字段长度
- 如何查询数据库中表的字段名?
- 将B数据库客户基本信息表中的字段插入到A数据库表中对应的字段中
- SQL语句操作数据库中表和字段的COMMENT值
- mysql将一个库中表的某几个字段插入到另一个库中的表
- PowerDesinger 从数据库中依赖反转出来的PDM修改。修改显示名字 将注释加到PDM工程
- myeclipse根据数据库中表反向生成JavaBean的方法
- 从数据库生成PD 并且设置数据库字段说明对应PD的NAME属性
- JAVA开发环境配置
- 桌面搜索-系统托盘
- 完整的FreeBSD安装手册
- 决定成功的十种心态
- Hello,blogger!
- 怎样才能将数据库中表PBCATCOL的PBC_LABL字段的值反向到PDM对应的NAME?
- HelloJavaWorld..
- 3.SetTimer
- 4.TimeProc
- 5.TimerProc
- 通用表单验证函数
- 修练8年C++面向对象程序设计之体会2
- 6.timeSetEvent
- 7.GetTickCount