View Single Post

   
  #3 (permalink)  
Old 04-16-2008, 12:59 AM
Francesco Storti
 
Posts: n/a
Default Re: Problem calling stored function

2008/1/17, Tom Lane tgl@sss.pgh.pa.us:

>
> 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;

*else
*

errore = *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;

*else
*

*return* result;

}

Reply With Quote