commit transaction 请求没有对应的begin transaction 是怎么回事?

oversecond 2003-08-04 09:30:03
if dw_5.update() <> 1 then
rollback using sqlca;
rollback using dbtrans;
return -1
end if
if dw_6.update() <> 1 then
rollback using sqlca;
rollback using dbtrans;
return -1
else
commit using dbtrans;
if dbtrans.sqlcode <> 0 then
rollback using dbtrans;
return -1
else
commit using sqlca;
end if
...全文
1282 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
eracn 2004-01-02
  • 打赏
  • 举报
回复
SELECT pdistr_id INTO :ls_pdis_pid FROM d_purchasedistributecontent WHERE pdis_pid = :ls_pur_id;
if sqlca.sqlcode <>100 then
DELETE FROM d_purchasedistribute WHERE pdistr_id = :ls_pdis_pid;
COMMIT using sqlca;
DELETE FROM d_purchasedistributecontent WHERE pdistr_id = :ls_pdis_pid;
COMMIT using sqlca;
CHOOSE CASE ll_style
CASE 0
UPDATE dbo.d_purchaseorder SET emp_id = null WHERE pur_id =:ls_pur_id;
CASE 1
UPDATE dbo.d_agreement SET emp_id = null WHERE agree_id =:ls_pur_id;
CASE 2
UPDATE dbo.d_project SET emp_id = null WHERE pro_id =:ls_pur_id;
CASE 3
UPDATE dbo.d_projectbatch SET emp_id = null WHERE bat_id =:ls_pur_id;
END CHOOSE
COMMIT using sqlca;
end if

我以上的代码也会出现该提示。
如何解决?
dotnba 2003-08-04
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2101/2101433.xml?temp=.9212915
888888888888 2003-08-04
  • 打赏
  • 举报
回复
同意楼上
suziniren 2003-08-04
  • 打赏
  • 举报
回复
同意以上看法。。。。
愉快的登山者 2003-08-04
  • 打赏
  • 举报
回复
if dw_5.update() <> 1 then
rollback using sqlca;
rollback using dbtrans;
return -1
end if
if dw_6.update() <> 1 then
rollback using sqlca;
rollback using dbtrans;
return -1
else
commit using dbtrans;
if dbtrans.sqlcode <> 0 then
rollback using dbtrans;
return -1
else
commit using sqlca;
end if
缺少一个END IF。
  • 打赏
  • 举报
回复
而其中begin transaction ,在代码中无需控制!!!
brightstar 2003-08-04
  • 打赏
  • 举报
回复
上一次的COMMIT就是一个新的事务的开始。
楼上说的好象对了一半,sqlca.autocommit=TRUE的时候,UPDATE,INSERT或者DELETE才相当于开始一个事物。
  • 打赏
  • 举报
回复
在pb中联数据库
只是在建事务联一次就可以了
如果在操作过程中
没disconnect;的话就不用重新联数据库的
而rollback;只是对事务的回滚!!!

呵呵~~~

Thinkinger 2003-08-04
  • 打赏
  • 举报
回复
当产生第一个修改语句时(update,insert,delete),事务自动会产生一个begin tran的,这个规律你可以从服务器端的跟踪看到!

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧