Ciao a tutti...
innanzitutto volevo spiegare che è soltanto da pochi mesi che mi sono addentrato nel mondo della programmazione “JAVA”, e soltanto da pochi giorno che studio le sessioni. Adesso il mio problema è quello di far in modo, che io utente, aggiorni un campo di un altro utente.. Quest'ultimo deve essere recuperato mediante un campo che io ho chiamato destinatario.
Credo proprio che l'errore sta nella query sql. (Infatti se ho sbagliato sezione please).Ciò che mi rende perplesso e che questa stessa query, nel MYSQL Query Browser settando io l'utente da aggiornare e il campo funziona correttamente, mentre poi quando vado a implementare il codice mi genera un'eccezione.
Da quel che vedo però, sia il numero dei messaggi che il nickname “destinatario” lo prende correttamente, soltanto che dopo va ad aggiornare il mio campo messaggi e non quello di salvo.
Internal Exception: java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
Error Code: 0
Call: UPDATE Utenti set messaggi = '1' where nickname like 'Prova'
Uso EJB3, il codice che ho fatto è:
public Utenti findPosta(Utenti utente) {
String nome = utente.getDestinatario();
//Query query = em.createQuery("update object(o) from Utenti as o set o.messaggi='" + utenti.getMessaggi() + "' as o where o.nickname like ='" + nome + "'");
Query query = em.createNativeQuery("UPDATE Utenti set messaggi = '"+ utente.getMessaggi() +"' where nickname like '" + nome + "'");
Utenti u = null;
try {
u = (Utenti) query.getResultList();
} catch (Exception errorePosta) {
System.out.println("Si è verificato un problema con la posta");
errorePosta.printStackTrace();
}
//Ritorno dell'utente
return u;
}

Rispondi quotando
