读书人

如何停止commit

发布时间: 2012-02-05 12:07:14 作者: rapoo

怎么停止commit
if dw_1.udpate()=1 then
commit;
else
rollback;
end if
如果dw_1的数据量很大,commit会有很长时间的等待,我想实现用户可以控制停止commit有什么办法没?

[解决办法]
.....
分批操作

比如10000 条数据,
你100条commit一次,不就好了

但是不能用update()
你自己手动的update or insert
这个都可以通过row的state来确定的
[解决办法]
不能。commit时间很短的,倒是update时间较长。分批循环update,不行就回滚。不过这样对数据窗口的控制会麻烦些。
[解决办法]
研究了一个上午,终于找到了

在datawindow的sqlpreview事件上可以做,代码:
yield()
if ib_stopcommit then return 1 //ib_stopcommit实例变量

再加一个按钮写上
ib_stopcommit=ture

再加上dberror事件
return 1

大功已告成

探讨
if dw_1.udpate()=1 then
  commit;
else
  rollback;
end if
如果dw_1的数据量很大,commit会有很长时间的等待,我想实现用户可以控制停止commit有什么办法没?

读书人网 >PB

热点推荐