Buongiorno ho un problema a far funzionare l'sql che sotto riporterrò con java
l'errore che mi viene mostrato è questo
1-) java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
La stringa è
String sql = "UPDATE timbrature SET uscita = ? " +
"WHERE uscita IS null AND utente = ? " +
"AND ingresso LIKE '?%'";
.....
stmt.setObject(1, nuovaData);
stmt.setInt(2, idUtente);
stmt.setObject(3, (data.get(Calendar.YEAR)-data.get(Calendar.MONTH)-data.get(Calendar.DAY_OF_MONTH)));
2-) l'altra mia soluzione è:
errore : om.mysql.jdbc.exceptions.MySQLSyntaxErrorException : 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 '-10-11%' at line 1
mentre sintassi:
String sql = "UPDATE timbrature SET uscita = ? " +
"WHERE uscita IS null AND utente = ? " +
"AND ingresso LIKE ?-?-?%";
.....
stmt.setObject(1, nuovaData);
stmt.setInt(2, idUtente);
stmt.setObject(3, data.get(Calendar.YEAR));
stmt.setObject(4, data.get(Calendar.MONTH));
stmt.setObject(5, data.get(Calendar.DAY_OF_MONTH));
Non riesco sostanzialmente a gestire il like da java. Se scrivo il comandi direttamente in mysql non ci sono problemi e funziona tutto, da programma mi esccono questi errori. Qualche idea? Ciao Stefania