public String executeUpdateTransaction(String[] queries) { con = connect(); Statement st = null; int i = 0; String currentQuery = ""; String result = "ok"; try { con.setAutoCommit(false); for (i = 0; i < queries.length; i++) { st = con.createStatement(); currentQuery = queries[i]; st.executeUpdate(currentQuery); System.out.println(currentQuery + "\nè stata aggiunta alla transazione"); } } catch (SQLException e) { System.out.println(currentQuery + "\nha causato l'errore " + e); result = e + ""; } if (result.equals("ok")) { try { con.commit(); System.out.println("Transazione eseguita con successo"); } catch (SQLException e) { System.out.println("Si è verificato un errore in fase di commit:\n" + e); } } else { try { con.rollback(); System.out.println(currentQuery + "\nha determinato il rollback della transazione"); } catch (SQLException e) { System.out.println("Si è verificato un errore in fase di rollback:\n" + e); } } try { st.close(); con.close(); } catch (SQLException e) { System.out.println("Errore durante la chiusura dello statement o della connessione:\n" + e); } return result; }