3

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

4

3 回答 3

3

您可以遍历数据窗口的 Column 列表并使用描述或点符号检查 Key 属性:

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

这可以让您知道该列是否包含在您在菜单项 Rows->Update Properties->Unique Key Columns(s) 下的数据窗口绘制器中看到的突出显示列表中:

以下是该属性的文档:

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

于 2009-11-13T18:53:49.597 回答
1

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

但我认为,如果您尝试在 Powerscript 中执行此操作,则必须扫描数据窗口中的列并检查“columnname.key”属性以确定键中的列。

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

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

于 2009-10-30T19:58:06.993 回答
0

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

于 2009-11-11T20:39:13.623 回答