PowerBuilder数据窗口多表更新技巧解析
"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中复杂数据操作的方法。
![](https://csdnimg.cn/release/download_crawler_static/4272402/bg9.jpg)
![](https://csdnimg.cn/release/download_crawler_static/4272402/bga.jpg)
![](https://csdnimg.cn/release/download_crawler_static/4272402/bgb.jpg)
剩余51页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 11
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)