Grazie per la risposta, io sapevo come te che il prepared statement non aveva limiti, ma adesso ho un po di confuzione perchè con 4 parametri mi funziona mentre con 5 o più no
Ecco il codice che uso e funziona perfettamente:
PreparedStatement pstmt = c.prepareStatement("UPDATE amministratori SET PASSWORD=?,NOME=?,COGNOME=? WHERE USER=?");
pstmt.setString(1, paswd);
pstmt.setString(2, nom);
pstmt.setString(3, cogn);
pstmt.setString(4, adminRicerca);
pstmt.executeUpdate();
pstmt.close();
Mentre se uso questo altro codice sotto che differisce solo per l'aggiunta di un altro parametro:
PreparedStatement pstmt = c.prepareStatement("UPDATE amministratori SET PASSWORD=?,NOME=?,COGNOME=?,E-MAIL=? WHERE USER=?");
pstmt.setString(1, paswd);
pstmt.setString(2, nom);
pstmt.setString(3, cogn);
pstmt.setString(4, ema);
pstmt.setString(5, adminRicerca);
pstmt.executeUpdate();
pstmt.close();
Mi da questo errore:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx ception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-MAIL='email@prova.it' WHERE USER='admin'' at line 1
Non riesco a venirne fuori!!!![]()