st.executeUpdate("UPDATE accesso SET username = '"+FormModificaUsername.campoNuovoUsername.getText ()+"' WHERE id = " + 1);
Ma questo Statement st, da dove viene?
Sicuro di non averlo gia' usato da qualche parte e successivamente chiuso?
Io ti consiglio di usare Statement diversi per pezzi di sql diversi. Anzi, io getterei alle ortiche gli Statement che danno solo problemi di sicurezza e userei i PreparedStatement. Ho visto sopra che li avevi presi in considerazione, ma non hai compreso il funzionamento. Nei PreparedStatement devi mettere dei punti interrogativi al posto delle variabili e poi sostituirli con i metodi opportuni.
Ad esempio
codice:
PreparedStatement st = con.preparedStatement("UPDATE accesso SET username = ? WHERE id = 1);
st.setString(1, "STRINGA_CHE_DEVI_METTERE_AL_POSTO_DI_?");
st.executeUpdate();
Inoltre ho notato che un problema simile ti si era già presentato (http://forum.html.it/forum/showthrea...readid=1109139), magari la causa è la stessa.