Should work. Maybe you're rolling back the transaction later, or
something like that?
regards, tom lane
Thank for the answer first ;)
I use rollback only if throwed an SQL exception.
Here is my code:
public
static int ExecSP(DBParameters dbp, int min) throws Exception{ CallableStatement cs =
null; Connection con =
null; Exception errore =
null; int result =0; boolean someError = false; try { con = DBUtils.connect(dbp);
cs = con.prepareCall(
"{? = call comp(?)}"); cs.registerOutParameter(1, Types.
INTEGER); cs.setInt(2, min);
cs.execute();
result = cs.getInt(1);
}
catch (SQLException e) { errore =
new Exception (""+e.getErrorCode()+ ": "+ "Error in executing stored procedures for minute: "+ min +" - " + e.getMessage()); con.rollback();
}
catch (Exception e) { if (someError) errore = e;
elseerrore =
new Exception ("Error in executing stored procedures for minute: " + min +" - "+e.getMessage()); con.rollback();
}
finally { try { if (cs != null) cs.close();
}
catch (SQLException e) {} cs =
null; try { if (con != null) con.close();
}
catch (SQLException e) {} con =
null; }
if (errore != null) throw errore; elsereturn result; }