数据提交问题
pb中设置自动提交为false
但是为什么程序执行中还没遇到commit时出错退出数据也更新到数据库中了呢?
问题点数:20、回复次数:13Top
1 楼luotitan(泰坦)回复于 2005-01-24 12:53:37 得分 0
把代码贴出来吧,这样没法分析。Top
2 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2005-01-24 12:53:51 得分 0
好像没rollback就可以的.Top
3 楼31737951(梦回唐朝(2005-05-09 13:33:58 这个时刻很痛苦))回复于 2005-01-24 13:00:54 得分 0
rollbackTop
4 楼juanzi2003(娟子)回复于 2005-01-24 13:05:17 得分 0
for to
....
update yx_rk set kk_zt='1' ,bkk_yx='临时出库' where jb_chjibh=:li_opr_no;
if sqlca.sqlcode<>0 then
messagebox("错误信息3",'数据无法存盘,请查明原因',information!)
rollback;
return
end if
....
dw_1.object.kk_zt[i]='1'
next
commit;
运行时到dw_1.object.kk_zt[i]='1'出错自动退出,但是前面的更新语句提交到库了,真是奇怪Top
5 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2005-01-24 13:08:53 得分 0
什么库?Top
6 楼luotitan(泰坦)回复于 2005-01-24 13:25:40 得分 0
我刚才试了一下,确实是更新了,即使没有commit;,加上rollback可以回滚。Top
7 楼luotitan(泰坦)回复于 2005-01-24 13:25:54 得分 0
SQL SEVERTop
8 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2005-01-24 13:31:17 得分 0
sqlserver有这毛病的,唉Top
9 楼qianfl(毛毛熊)回复于 2005-01-24 13:35:04 得分 10
为了维持数据完整性,这样做是有道理的,AUTOCOMMIT为FALSE只是保证用ROLLBACK会回滚,并不代表出错时会自动回滚Top
10 楼juanzi2003(娟子)回复于 2005-01-24 13:45:35 得分 0
怎么会这样呀,这问题也太大了吧,sql sever 2000Top
11 楼zxjnew(重新启动)回复于 2005-01-24 14:07:44 得分 10
最好用数据窗口更新 不要写update语句,写了这个就算你没有写commit也会向数据库提交的哪怕你的autocommit是false的时候,该算是pb的一个bug吧!Top
12 楼xyqiqi(琪琪)回复于 2005-01-24 14:24:31 得分 0
我也遇到类似问题,只是稍微比这复杂一些。Top
13 楼xyqiqi(琪琪)回复于 2005-01-24 14:25:06 得分 0
rollback 都回不去Top




