PB程序中多用户操作的控制问题?

starwill 2003-11-26 10:08:11
各位高手,偶有一问题求教:

ERP系统中,如果两个用户同时打开同一张单据,而且都对数据进行了更改.第一个用户在能存盘成功~第二个用户存盘时会出错:datawindow error: Row changed between retrieve and update. No changes made to database.

在多用户坏境中,如何解决此种故障???
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
htp_htp 2003-11-27
  • 打赏
  • 举报
回复
枷锁

或者用pb的数据窗口可以控制这种情况
starwill 2003-11-27
  • 打赏
  • 举报
回复
问题是:在多用户环境中,不管你是否及时提交了数据,只要在你提交之前,另一用户已打开同一条记录,他在修改数据后,保存时就会出错~~


其实这是偶在昨天面试时,主考官提出的问题~~~
这个问题我以前也遇到过,但没有什么好的办法解决~~

ropriest 2003-11-26
  • 打赏
  • 举报
回复
将数据库表的Lock by page改为Lock by row
且注意程序中的事务要及时提交
如果是表锁,一个人在操作这个表时,别人无法提交事务。
TGWall 2003-11-26
  • 打赏
  • 举报
回复
在数据窗口的update()事件后面加上commit和rollback看:
if dw_1.update()=1 then
... ...
commit using sqlca;
else
... ...
rollback;
end if

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧