我是 powerbuilder 的新手,在使用 datawindows 时遇到了很多麻烦。我无法理解它的插入机制。有人可以向我解释一下,或者至少指出我正确的方向(文章,提示等......)吗?
2 回答
DataWindow 生成的 SQL 由 Update Properties(菜单项 Rows / Update Properties...)控制。从那里,您可以选择一个表并设置它将用于生成 SQL 的属性。Where 子句...确定在 WHERE 子句中用于 UPDATE 和 DELETE 的列及其原始值。仅当您更改(或允许用户更改)已定义为键的列时,键修改才会起作用。可更新列是生成 SQL 的列表(这不会影响 UI 允许的一种或另一种方式)。关键列可以是主键(可以使用主键按钮自动填充,如果您是 DBMS 支持从数据库中查询的调用),但不一定是。(在某些非常独特的情况下,您可能想要做一些不同的事情。)如果您有一个标识列作为您的键,您可以将其标识到您的 DataWindow,它会在 INSERT 之后检索生成的值。
之后,使用 InsertRow()、DeleteRow()、SetItem() 填充 DataWindow 中的数据,当然,让用户在 UI 上,将更改数据和状态标志,这些标志将确定 Update() 时生成的 SQL叫做。
所有这些都可以在运行时使用 Modify() 函数进行更改,因此您可以使用一个 DataWindow 执行更新多个表的操作。这是在 PowerBuilder Foundation Class 的多表更新服务中实现的,因此如果您想在运行时更改这些值,这是一些很好的示例代码。
祝你好运,
特里。
@Archangel 即使您为它指定了一个值作为检索参数,在将行插入数据窗口时,您仍然需要提供 test_id 字段。完成插入行后,请确保为所有不允许空值的值执行 setitem。