Tenho um Formulário de cadastro, simples com código, nome, sobre. No formulário eu removi o código para não aparecer, ficou só nome e sobre, mais agora quando faço um Update pelo programa não atualiza o registro, mais seu colocar o código no formulário ai vai normal.
#ContatoDAO
public void atualizar(Contato contato) {
conecta.conexao(); //Abre a conexão
try {
String sql = "UPDATE contato SET id=?, nome=?, sobrenome=? WHERE id=?";
PreparedStatement pstm = conecta.conn.prepareStatement(sql);
pstm.setInt(1, contato.getId());
pstm.setString(2, contato.getNome());
pstm.setString(3, contato.getSobrenome());
pstm.execute();
JOptionPane.showMessageDialog(null, "Atualizado com Sucesso");
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro na Alteração" + erro.getMessage());
}
conecta.desconecta(); //fecha conexão
}
Eu já retirei o ID do update coloquei o WHERE nome, mais sem sucesso, eu não queria deixar o campo Código aparecendo no Formulário, mais só está funcionando dessa maneira, seu retirar não atualiza, se coloco ai funciona. Obrigado.
Se eu não estiver enganado, o ID seria uma primary key, correto? logo, não se faz update nela.
Retire o id da tela, mande atualizar o contato e inspecione o Contato para ver se o id do contato esta preenchido.
Utilize no pstm o methodo .executeUpdate()