日期:2014-05-17  浏览次数:20799 次

关于oracle数据库的回滚问题,急!
vc连oracle数据库(odbc),想用CDatabase类的executeSQL执行SQL语句,怎么回滚?比如下面代码:
db.open;
try
{
    db.executeSQL(strSQL1);
    db.executeSQL(strSQL2);
    db.executeSQL(strSQL3);
    db.executeSQL(strSQL4);
}
catch   (......)
{
    db.rollback();
}
db.transcommit;
db.close

这样如果其中一个SQL语句出错,好像不能回滚,为什么?该怎么办?请不吝赐教!

------解决方案--------------------
看看有没有DB.STARTTRAN
开始一个事务

你可以跟踪下 看他报错的时候是否被捕获

可能是没有捕获吧