public String executeUpdateTransaction(String[] queries) {
con = this.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();
}
catch (SQLException e) {
System.out.println("Si è verificato un errore in fase di commit:\n" + e);
}
} else {
try {
// con.rollback();
throw new SQLException();
}
catch (SQLException e) {
System.out.println("Si è verificato un errore in fase di rollback:\n" + e);
}
}
try {
con.setAutoCommit(true);
}
catch (SQLException e) {
System.out.println("Si è verificato un errore in fase di autoCommit:\n" + e);
}
try {
st.close();
con.close();
}
catch (SQLException e) {
}
return result;
}