同一窗体上两个datawindow,并且都SetTransObject(sqlca)

同一窗体上两个datawindow,并且都SetTransObject(sqlca),如果两个同时Update(),能否用一个commit进行提交.
如下情况呢:一个是Datawindow,并且SetTransObject(sqlca),接着update tablename set... using sqlca,这里能否用一个commit using sqlca提交两个的改变呢?
[202 byte] By [bpfrom-天籁之音] at [2008-6-4]
# 1
当然可以,Commit提交所有的事务
akeewww-akeewww at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 2
if dw_1.update() = 1 and dw_2.update() =1 then
commit using sqlca;
else
roolback using sqlca;
end if
2\
if dw_1.update() = 1 then
update tablename set... using sqlca
if sqlca.sqlcode = 0 then
commit using sqlca;
end if
else
rollback using sqlca;
end if
如何?

zhanwei-@_@,初学.Net at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 3
使用一个Commit;即可
不过要对每个Update进行返回值的判断,以便进行错误处理(Rollback也是一样道理)。
lesni-乐S你 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 4
可以用一 COMMIT,但按道理在每个UPDATE,DELETE,INSERT语句后都应判断执行结果并进行相应处理,而不能在COMMIT之后判断,因为这样一来判断的是COMMIT的执行结果。
daiwoo_wang-屎太浓 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 5
这样写:
if dw_1.update(ture,false) = 1 then
if dw_2.update(true,false) = 1 then
commit;
else
rollback;
Messagebox ....
end if
else
RollBack;
Messagebox...
end if

Codefund真次,空格全剪掉,我只好用全角了。

liulee-流方 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 6

好像csdn把字体改了,原来是 Times New Roma,现在好像是 Arial或MS Serif Scan,反正不是宋体。

liulee-流方 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 7
刘帮主果然厉害
zuoyangguang-瓜瓜 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 8
可以,直接commit就行了
redbat-小牛 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...
# 9
commit; 等同于 commit using sqlca;
即将使用sqlca事务参数的一切数据库修改如:
SetTransObject(sqlca)的datawindow.update或update tablename set... using sqlca;
一起提交。
同理,如自行另建事务变量iTrans,则commit using iTrans;将使用该iTrans地一切数据库修改提交。
nixinyi-清平乐 at 2007-10-25 > top of Msdn China Tech,PowerBuilder,DataWindow...