PowerBuilder数据窗口多表更新技巧解析
需积分: 49 7 浏览量
更新于2024-07-28
收藏 272KB DOC 举报
"PB控件详细讲解,涵盖了数据窗口的多表更新问题,以及如何通过设置Update属性和编程实现更新操作。"
在PowerBuilder (PB) 中,数据窗口控件是一种强大的工具,用于显示和编辑数据库中的数据。在这个详细的控件讲解中,重点讨论了如何处理数据窗口涉及到多表更新的问题。当数据窗口的数据源来自两个或更多表的连接时,PB默认不允许直接更新,因为这涉及到复杂的多表事务处理。
首先,理解数据窗口的Update属性至关重要。UpdateProperties允许开发者指定数据窗口是否可以更新,以及哪些表和列可以更新。在默认情况下,如果数据窗口基于多个表的连接,PB不会允许直接进行更新操作。为了实现更新,我们需要手动设置UpdateProperties,选择一个表作为可更新的表,并指定其可更新的列。
例如,假设我们有一个数据窗口d_grid_dep_emp,它连接了department和employee两个表。我们可以先设置department表为可更新,将UpdateableColumns设置为dept_id和dept_name。这样,用户在数据窗口中对这两个字段的修改可以通过dw_1.update()方法保存到数据库中。
在更新department表之后,我们需要更改UpdateProperties,使employee表变为可更新,同时department表设为不可更新。通过这种方式,逐个更新每个表,确保所有改动都被正确处理。以下是一个可能的更新操作示例:
```pb
// 修改Department表
dw_1.Modify("department.dept_id = update(department.dept_id)")
dw_1.Modify("department.dept_name = update(department.dept_name)")
// 更新Department表
long ll_rtn
ll_rtn = dw_1.Update(true, false)
// 检查更新结果
If ll_rtn = 1 Then
// 关闭对Department表的修改
dw_1.Modify("department.dept_id = department.dept_id")
dw_1.Modify("department.dept_name = department.dept_name")
// 开始更新Employee表
// 设置Employee表为可更新,Department表为不可更新
'... 更改UpdateProperties ...
// 更新Employee表
'...
End If
```
这个过程展示了如何在PB中处理多表数据窗口的更新。开发者需要熟悉数据窗口的UpdateProperties和Modify方法,以及如何通过编程控制更新流程,以确保数据的一致性和完整性。同时,对于新手来说,了解这些详细步骤和实例可以帮助他们快速掌握PB中复杂数据操作的方法。
2011-08-01 上传
2010-05-16 上传
2011-08-16 上传
374 浏览量
2009-02-07 上传
2021-10-01 上传
zhentong520
- 粉丝: 1
- 资源: 11
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全