Ciao a tutti,
ho problemi con il delete di alcune righe da db.
Quando elimino una riga, il sistema mi restituisce un OK secondo le impostazioni date. In realtà, però, se cerco di inserire nuovamente la stessa riga, con gli stessi dati....ho un conflitto e il sistema mi dice che l'oggetto è già presente a db. In pratica, il delete non agisce a db.
Problemi di refresh? come sistemare? Vi incollo il codice.
codice:public boolean delete(Agente x) { boolean result = false; Connection conn = db.getConnection(); Statement stat = null; try { stat = conn.createStatement(); stat.execute("delete from agents where id = '" + x.getId() + "';"); result = true; } catch (SQLException ex) { Logger.getLogger(ServerAgente.class.getName()).log(Level.SEVERE, null, ex); result = false; } finally { try { stat.close(); //conn.close(); } catch (SQLException ex) { Logger.getLogger(ServerAgente.class.getName()).log(Level.SEVERE, null, ex); } } return result; }codice:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package ppd_desktop.classes; import java.io.Serializable; /** * * @author bp78823 */ public class Agente<T> { private Integer id; private String nome = ""; private String cognome = ""; private String numero = ""; public Agente() { } public Agente(Integer id, String nome, String cognome, String numero) { this.id = id; this.nome = nome; this.cognome = cognome; this.numero = numero; } public String getCognome() { return cognome; } public void setCognome(String cognome) { this.cognome = cognome; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } @Override public String toString() { return nome + " " + cognome; } @Override public boolean equals(Object obj) { if(obj instanceof Agente){ Agente agente = (Agente) obj; return (agente.getNome().equalsIgnoreCase(this.getNome()) && agente.getCognome().equalsIgnoreCase(this.getCognome()) && agente.getNumero().equalsIgnoreCase(this.getNumero()) ); } else { return false; } } }

Rispondi quotando