事务问题,请教高手.
xjzh 2003-12-08 12:18:23 string ls_ryzdh
int li_ryzdh
execute immediate "begin transaction";
//加锁
UPDATE m_zdh
SET zdh = zdh+1
WHERE id_jg = :str_sys.id_xtjg and id_zdh='01';
select zdh into :li_ryzdh from m_zdh where id_jg = :str_sys.id_xtjg and id_zdh='01';
ls_ryzdh=str_sys.qz_ry+right('000000000'+string(li_ryzdh),10)
dw_1.setitem(1,'id_ry',ls_ryzdh)
if dw_1.update()=1 then
execute immediate "commit transaction";
messagebox('提示','数据保存成功!')
return 1
else
execute immediate "rollback transaction";
messagebox('错误','数据保存失败!'+sqlca.sqlerrtext,StopSign!)
return 0
end if