try rollback when exception. 发自我的 iPad
在 2014-5-3,8:56,[email protected] 写道: > Hello to all, > this is the part of code that locks the table: > > public void des(String id, String far) throws Exception { > > Connection conn=SingletonConnection.getConnection(); > > PreparedStatement ps3=conn.prepareStatement("DELETE FROM TABLE > WHERE FK_ID=? AND FK_COD=? "); > > ps3.setString(1, id); > ps3.setString(2, far); > > > int i = ps3.executeUpdate(); > > if(i==0){ > //ERROR IS HERE > SingletonConnection.closeConnection(); > throw new Exception("ERROR 505"); > } > conn.commit(); > SingletonConnection.closeConnection(); > > } > > --------------------------- > > CODE SingletonConnection : > --------------------- > public class SingletonConnection { > > > private static Connection conn; > > private SingletonConnection() throws Exception { > > Class.forName("org.h2.Driver"); > conn = > DriverManager.getConnection("jdbc:h2:tcp://localhost/~/FAR", "admin", > "admin"); > conn.setAutoCommit(false); > } > > public static Connection getConnection() throws Exception { > if (conn==null) new SingletonConnection(); > > return conn; > } > public static void closeConnection() throws Exception { > conn=null; > } > > } > -------------------------------------- > > When " int i = ps3.executeUpdate(); " returns 0 , I get this error: > > model.exceptions.SchedaException: org.h2.jdbc.JdbcSQLException: Timeout > trying to lock table "TABLE"; SQL statement: > SELECT * FROM TABLE > > Some suggestion ? Thanks in advance. > -- > You received this message because you are subscribed to the Google Groups "H2 > Database" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/h2-database. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
