PowerBuilder数据窗口多表更新技巧解析
需积分: 49 97 浏览量
更新于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中复杂数据操作的方法。
574 浏览量
130 浏览量
110 浏览量
972 浏览量
280 浏览量

zhentong520
- 粉丝: 12
最新资源
- 第七届ITAT移动互联网站设计决赛试题分享
- C语言实现52张牌随机分发及排序方法
- VS2008智能提示补丁,让英文变中文的解决办法
- SISTEMA-LACONQUISTA:深入解析Windows窗体窗口应用开发
- STM32F407单片机RTC闹钟唤醒功能实验教程
- CRRedist2005 X86:水晶报表下载辅助文件解析
- Android开发中调用WebService的简易实例教程
- React Native与Electron融合:打造桌面端PWA应用
- fping:高效的网络端口批量测试工具
- 深入解析Spring与MyBatis的整合配置及问题答疑
- 深入探讨Struts2与Spring整合技术实现
- Java游戏项目开发实战:游戏项目1深入解析
- STM32掌机测试教程与资源分享
- Win7内置搜索小工具:百度与谷歌搜索集成
- JWPlayer JavaScript API下载指南
- 精易模块V5.22新特性与功能更新解析