pb中事务处理的问题?
1.对一组SQL语句要么都执行成功,要么都不执行。
举例:
   INSERT INTO TABLEA (F1) VALUES(V1);
   INSERT INTO TABLEB (F1) VALUES(V1);
执行上面两条语句。
怎么做事务处理啊。
由于SQLCA.SQLCODE是判断最后执行语句的返回状态,
如果
    INSERT INTO TABLEA (F1) VALUES(V1);//-----语句1
    INSERT INTO TABLEB (F1) VALUES(V1);//-----语句2
    if  sqlca.sqlcode = 0 then
        commit;                        
    else
        rollback;
    end if
执行后,如果语句1不成功,语句2成功,程序照样会返回sqlca.sqlcode = 0
,然后会执行commit;
TABLEA                  TABLEB
===============         ================
F1                      F1

程序执行后
TABLEA                  TABLEB
===============         ================
F1                      F1
                        100

这不是所需要的,系统要么都不写数据成功,要么都写进去
显然,如果语句2执行失败后,程序返回sqlca.sqlcode = -1 ,执行rollback回滚,
取消所有的操作。
但是实际上,并不是语句2才会执行失败,任何sql语句执行都有可能执行失败的。

如何做事务处理呢?
1.目前的做法,只能嵌套if语句了

insert into a (acount) values(100);
if sqlca.sqlcode =0 then
    insert into b (acount) values(100);
    if sqlca.sqlcode =0 then
    
    
        commit;
        Messagebox("","a")
    else
        Messagebox("",sqlca.sqlerrtext)
        rollback;
        Messagebox("",'b')
    end if

else
    Messagebox("",sqlca.sqlerrtext)
    rollback;
    Messagebox("",'b')
end if

2.还有一种,就是每执行一条sql,把sqlcode赋个变量,最后变量相加判断是否为0,为0的就commit
<0就rollback
现在提出问题,还有没有其他更好的方法???????????