读书人

关于同时更新多个数据表,该如何处理

发布时间: 2012-03-11 18:15:39 作者: rapoo

关于同时更新多个数据表
if dw_2.update() = 1 then
commit using sqlca;
update a set sl = '5' where dm = :ls_dm;
messagebox('提示','数据保存成功!')
else
rollback using sqlca;
messagebox('提示','数据保存失败!')
end if

如果当程序执行到 commit using sqlca;
出现其他情况没有执行 update a set sl = '5' where dm = :ls_dm;

怎么才能够做到让数据保持一致呢?

[解决办法]

探讨
if dw_2.update() = 1 then
commit using sqlca;
update a set sl = '5' where dm = :ls_dm;
messagebox('提示','数据保存成功!')
else
rollback using sqlca;
messagebox('提示','数据保存失败!')
end if

如果当程序执行到 commit……

[解决办法]
探讨
是不是update后没有 commit using sqlca;
也不会更新数据?

[解决办法]
探讨
是不是update后没有 commit using sqlca;
也不会更新数据?

[解决办法]
if dw_2.update() <> 1 then
rollback using sqlca;
messagebox('提示','数据保存失败!')
return
end if

update a set sl = '5' where dm = :ls_dm;

if sqlca.sqlcode = -1 then
rollback using sqlca;
messagebox('提示','数据保存失败!')
return
end if

commit using sqlca;
messagebox('提示','数据保存成功!')




[解决办法]
如果你的数据库支持触发器的话,最好用触发器来实现。这样可以少搞些PB代码的判断。

读书人网 >PB

热点推荐