日期:2014-05-18  浏览次数:20703 次

java事务问题
Connection   con   =   null;
                try
                {
                        con   =   DBManager.getInstance().getCon();

                        con.setAutoCommit(false);
                        Statement   stmt   =   con.createStatement();
                        stmt.executeUpdate(AddbookSql);
                        stmt.executeUpdate(kucunSql);
                        con.commit();
                }
                catch   (Exception   ex)
                {
                        try
                        {
                                con.rollback();
                        }
                        catch   (Exception   ex1)
                        {
                                ex1.printStackTrace();
                        }
                        ex.printStackTrace();
                }
我检测的时候把con.commit()改为con.rollback()时可以确定它回滚事务了。也就说在catch语句块中不能捕获异常,没有执行con.rollback();

------解决方案--------------------
既然你把con.commit()改为con.rollback()时可以确定它回滚事务了,那说明你try里面执行的程序没有出错,怎么会跑catch里面去呢
不理解你到底想干什么