数据窗口更新问题
我用的是PB9没有加过补丁,最近发现一个问题不知道是不是PB的bug
当我在数据窗口中新增一行后保存,我跟踪了数据库是对数据表执行INSERT语句,当我在保存后判断保存条件不合格就执行了ROLLBACK,但是当我对这个数据窗口再次update之后,我跟踪数据发现数据窗口执行的语句不是INSERT语句,而是UPDATE语句。
不知道有什么方法可以解决?
问题点数:20、回复次数:5Top
1 楼wangsw1976()回复于 2006-07-01 15:47:31 得分 0
当我在保存后判断保存条件不合格就执行了ROLLBACK?
这么说来你的窗口已经更新完结了,也就是dw.update()=1了
之后你后回滚rollback,可dw不知道你人为给回滚了,所以
在update()=1之后用rollback,也要重置窗口的更新属性:dw.resetupdate()Top
2 楼wangsw1976()回复于 2006-07-01 15:50:58 得分 0
eg:
if dw.update()<>1 then
rollback ;
return
end if
//
if 符合判断条件 then
commit ;
else
rollback ;
dw.resetupdate()
end if
//Top
3 楼angloy(烂柯遗梦)回复于 2006-07-01 17:29:49 得分 0
dw.resetupdate()
这个语句我也是试过了的,没有用的,reset之后只要界面不退出来,执行的仍然是UPDATE语句Top
4 楼yuhx(yu)回复于 2006-07-01 23:02:03 得分 0
dw在保存后,行的修改状态从newmodified!变成了NotModified,可能数据保存失败后,状态成了DataModified,所以再执行保存,就成了Update语句了Top
5 楼zcm790619(魔鬼代言人)回复于 2006-07-02 08:26:43 得分 0
检查一下更新属性是怎么设置的!Top




