Non ho capito se ora funziona oppure no.
Ad ogni modo, ti suggerisco di gestire diversamente le PreparedStatement:
codice:
// Dichiarare gli oggetti fuori dal try/catch e inizializzarli a null
PreparedStatement ps = null;
try {
// creare e usare le PreparedStatement
ps = DBUtils.getPreparedStatement( ... );
...
ps.executeUpdate();
} catch (Exception e) {
// Logging degli errori
...
} finally {
// Chiusura di tutti gli statement
if (ps != null) {
try { ps.close(); } catch (Exception e) { }
}
}
Se hai una query di selezione, utilizzerai dei ResultSet per ottenere i dati: anche quelli andrebbero dichiarati FUORI dal blocco try/catch e chiusi nel blocco finally. Questo ti garantisce di non lasciare risorse aperte sul DB che a lungo andare sono dannose.
Ciao.