这种数据库提交结构合理吗?
1.pb中所有对数据库的操作,都可以通过sqlca.sqlcode来判断成功?..存储过程..动态sql......(都单指更新操作,且数据库端无提交操作)
2.下面代码都是用的sqlca事务,pb会自动把他们打包到一个事务中吗?一次提交,就提交上面所有操作.
3.pb9中有没有显示控制事务的语句,begin trans .....end trans..,最新版中有吗?
4.这种多步提交的结构是否可行,合理?有其他好方法吗?
cb_1的提交代码如下
// 数据窗口更新
if dw_1.update <> 1 then
rollback using sqca;
messagebox("","数据窗口更新失败失败!")
return
end if
//存储过程更新
EXECUTE ProcedureName;
if sqlca.sqlcode <> 0 then
rollback using sqlca;
messagebox("","存储过程执行失败!")
return
end if
//动态sql更新
string ls_sqlstr
ls_sqlstr = "....."
EXECUTE IMMEDIATE :ls_sqlstr using sqlca;
if sqlca.sqlcode <> 0 then
rollback using sqlca;
messagebox("","sql字符串语句执行失败!")
return
end if
//嵌入sql更新
update table1
set aa = "a"
using sqlca;
if sqlca.sqlcode <> 0 then
rollback using sqlca;
messagebox("","sql语句执行失败!")
return
end if
//统一提交上面的更新
commit using sqlca;