没有合适的资源?快使用搜索试试~ 我知道了~
首页PB并发控制与Row changed between retrieve and update详解
PB并发控制与Row changed between retrieve and update详解
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
描述PB的并发控制机制,详细解释Row changed between retrieve and update错误出现的原因,以及处理方法。对学习PB有一定的帮助。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/7150009/bg1.jpg)
PowerBuilder 中的并发控制及 Rowchangedbetweenretrievea
ndupdate 错误排查
PowerBuilder 中可以通过数据窗口的更新属性(UpdateProperties)来实现并发控制。打
开 DataWindow画笔板,点击 Rows->UpdateProperties 菜单,进入“SpecifyUpdataePr
operties”对话框,其中“WhereClauseforUpdate/Delete”组合框中的三个选项就是三种处
理数据并发问题的策略。
1、选项“KeyColumns”:
这种情况是比较更新前后 Table 的关键字是否发生了变化,即当前数据库中关键字的实际
值和最初查询的值做比较,如果没有改变,则可以更新,反之不能更新。
如用户 A 将员工号为 100 的职员的 salary 字段值改为 1200 并保存后,B 用户也将员工号
为 100 的职员的 salary 字段值改为 950 并点击“存盘”按钮,我们可以看到数据窗口
sqlpreview 事件中的 sqlsyntax 返回如:
UPDATE"personnel"SET"salary"=950WHERE"id"=100
因为关键字 id=100 没有发生变化,Where 条件成立,更新成功,将 A 用户的修改覆盖,
salary 值变为 950 元,员工损失了 200 元。显然这样没有达到并发控制的目的,未能保证
数据的完整性。
2、选项“KeyandUpdateableColumn”:
这种情况是比较更新前后 Table 的关键字和可修改(更新)的列值是否发生了变化,如果
没有一项发生改变,更新成功;反之,若数据库中当前值中若任一项与数据窗口最初检索
出的值不一致,则更新失败。对于此例,因所有字段都是可修改(更新)的,即检测是否
有任一字段变化。
同上,当用户 A 更新完后,B 用户点击“存盘”按钮,我们可以看到 sqlsyntax 返回如:
UPDATE"personnel"SET"salary"=950WHERE"id"=100AND"name"='令狐冲'AND
"birthday"='1975-05-01'AND"technical_post"=' 工 程 师 'AND"salary"=1000AND"not
es"='软件开发'
显然,id 字段没有改变,而可修改(更新)列之一 salary 的值经 A 用户修改存盘后,已由
1000 变为了当前的 1200,where 条件不成立,因此更新失败,并弹出出错信息如下:
![zip](https://img-home.csdnimg.cn/images/20210720083736.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://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/0fbf2ffa5d3a4393941dd17a2849e053_gd_levin.jpg!1)
gd_levin
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 基于Springboot的医院信管系统
- 基于Springboot的冬奥会科普平台
- 基于Springboot的社区医院管理服务系统
- 基于Springboot的实习管理系统
- TI-TCAN1146.pdf
- 基于Springboot的留守儿童爱心网站
- S32K3XXRM.pdf
- Ansible Automation Platform 快速安装指南 v3.8.1
- Ansible Tower 发行注记 v3.8.1-76页
- C语言笔记-考研版(进阶)
- Design_of_Analog_CMOS_Integrated_Circuit20200602-85440-9wt61m-with-cover-page-v2 (1).pdf
- Ansible Automation Platform 安装和参考指南 v3.8.1-59页
- 浅析5G技术在工业互联网领域的应用研究
- 查重17 岑彩谊-基于otn技术的本地承载网-二稿 .docx
- 自考计算机应用基础知识点.doc
- 数据库系统安全、技术操作规程.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)