PowerBuilder:确定数据窗口主键

时间:2009-10-30 15:57:08

标签: powerbuilder

我在PowerBuilder中的基础对象(类)中创建了一些事件,而这个基本数据窗口的后代需要知道该表(或行)的主键是什么。您如何确定代码中的主键?

3 个答案:

答案 0 :(得分:3)

您可以遍历数据窗口的列列表,并使用describe或点表示法检查Key属性:

<DW Control Name>.Describe("<Columnname>.Key")
or
<DW Control Name>.Object.<Columnname>.Key

这可以让您知道该列是否包含在您在datawindow画家的菜单项Rows-&gt; Update Properties-&gt; Unique Key Columns下所看到的突出显示列表中:

以下是该属性的文档:

http://infocenter.sybase.com/help/topic/com.sybase.dc37783_1150/html/dwref/CAIBHFGF.htm

答案 1 :(得分:1)

似乎没有一个属性可以通过点表示法或隔离主键的describe函数来获取,至少我没有看到一个。我在这里完全错了,有更好的方法。

但我认为如果你想在Powerscript中尝试这样做,你将不得不扫描数据窗口中的列并检查“columnname.key”属性以确定密钥中的列。

我希望这还取决于您在datawindow update属性中定义了主键列;通常这些不是开发人员为只读数据窗口定义的。

如果有人有更好的方法,请发帖。

答案 2 :(得分:0)

您的对象或代码有什么要求您知道表的主键是什么?我从2.0版开始就一直在使用Powerbuilder,我无法回想起我需要知道的情况。