Questa è il valore della console:
update CANDIDATO set NOME = ?
update CANDIDATO set NOME = ? , COGNOME = ?
update CANDIDATO set NOME = ? , COGNOME = ?, LUOGO_DI_NASCITA = ?
update CANDIDATO set NOME = ? , COGNOME = ?, LUOGO_DI_NASCITA = ?, RESIDENZA = ?
update CANDIDATO set NOME = ? , COGNOME = ?, LUOGO_DI_NASCITA = ?, RESIDENZA = ?, ETA = ?
update CANDIDATO set NOME = ? , COGNOME = ?, LUOGO_DI_NASCITA = ?, RESIDENZA = ?, ETA = ?, DATA = ?
update CANDIDATO set NOME = ? , COGNOME = ?, LUOGO_DI_NASCITA = ?, RESIDENZA = ?, ETA = ?, DATA = ? where ID_CANDIDATO = ?
il problema sta quando il nome == null e luogo di nascita == null la virgola non ci deve stare.
List<Candidato> cList3 = icandidatoDao.aggiornaCandidato(null, "cognome", null, "residenza", 17,
miaData, 3);
questo è il codice di concatenazione stringhe:
if (nome != null && !"".equals(nome.trim())) {
verifica = true;
// fai l'aggiornamento della query precedente
addNome = " NOME = ? ";
queryUpdate += addNome; // concatena e aggiorna
}
System.out.println(queryUpdate);
if (cognome != null && !"".equals(cognome.trim())) {
verifica = true;
// fai l'aggiornamento della query precedente
addCognome = " COGNOME = ?";
queryUpdate += virgola + addCognome; // concatena e aggiorna
}
System.out.println(queryUpdate);
if (luogoDiNascita != null && !"".equals(luogoDiNascita.trim())) {
verifica = true;
// fai l'aggiornamento della query precedente
addLuogoDiNascita = " LUOGO_DI_NASCITA = ?";
queryUpdate += virgola + addLuogoDiNascita;
}
System.out.println(queryUpdate);
if (residenza != null && !"".equals(residenza.trim())) {
verifica = true;
// fai l'aggiornamento della query precedente
addResidenza = " RESIDENZA = ?";
queryUpdate += virgola + addResidenza;
}
System.out.println(queryUpdate);
if (eta != 0) {
verifica = true;
// fai l'aggiornamento della query precedente
addEta = " ETA = ?";
queryUpdate += virgola + addEta;
}
System.out.println(queryUpdate);
if (date != null) {
verifica = true;
// fai l'aggiornamento della query precedente
addData = " DATA = ?";
queryUpdate += virgola + addData;
}
System.out.println(queryUpdate);
if (id_candidato != 0) {
verifica = true;
addIdcandidato = " where ID_CANDIDATO = ?";
queryUpdate += addIdcandidato;
}
System.out.println(queryUpdate);
ho provato con altri tentativi ma non ci riesco