你在做数据库操作不需要捕捉SQLException异常?
当出现异常时,在catch(Exception ex){...}中进行处理。
如果是多个SQL操作,用数据库的事务操作。
如果是分布式事务,请具体说明。

解决方案 »

  1.   

    假设你已经建立好联接
    Connection conn =DriverManager.getConnection(...);  
    conn.setAutoCommit(false); Statement stmt=conn.createStatement();
    try {
    //执行事务
    stmt.executeQuery(sql1);
    stmt.executeQuery(sql2);
    stmt.executeQuery(sql3);
    .....
    }catch(Exception e){
     conn.rollback(); //出现异常则回滚
    }finally{
    .....
    }
      

  2.   

    Connection conn =DriverManager.getConnection(...);  
    conn.setAutoCommit(false); Statement stmt=conn.createStatement();
    try {
    //执行事务
    stmt.executeQuery(sql1);
    stmt.executeQuery(sql2);
    stmt.executeQuery(sql3);
    ……
    conn.commit;//没出现问题提交
    }catch(Exception e){
     conn.rollback(); //出现异常则回滚
    }finally{
    .....
    }
      

  3.   

    上面者的地方错了
    conn.commit;//没出现问题提交
    因该是
    conn.commit();//没出现问题提交
      

  4.   

    conn.setAutoCommit(true)不对
    应该是conn.setAutoCommit(false);