Boa noite! Estou tentando criar o metodo editar. Eu consulto o morador no meu banco dedados e tento fazer a edição pelo formulário, através da IDE Netbeans. Quando realizao a alteração e clico em editar, o netbeans só exibe a mensagem de erro ao editar os dados.
No netbenas exibe a seguinte mensagem:
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Mas já adianto, que o meu driver de conexão, já está atualizado para:
com.mysql.cj.jdbc.Driver
Segue o metodo editar:
public void editar(Morador objeto) {
String sql = "UPDATE morador SET Rg=?, Usuario=?, Senha=?, Nome=?, Celular=? , Nascimento=? ,Email=? ,Logradouro=? ,Numero=? ,Complemento=? , Bairro=? ,Municipio=? ,Cep=? ,Uf=? ,Id=? WHERE Cpf=? ";
Connection conn = null;
PreparedStatement pstm = null;
try {
conn = ConexaoDAO.getConnection();
pstm = conn.prepareStatement(sql);
pstm.setString(1, objeto.getRg());
pstm.setString(2, objeto.getUsuario());
pstm.setString(3, objeto.getSenha());
pstm.setString(4, objeto.getNome());
pstm.setString(5, objeto.getCelular());
pstm.setString(6, objeto.getNascimento());
pstm.setString(7, objeto.getEmail());
pstm.setString(8, objeto.getLogradouro());
pstm.setString(9, objeto.getNumero());
pstm.setString(10, objeto.getComplemento());
pstm.setString(11, objeto.getBairro());
pstm.setString(12, objeto.getMunicipio());
pstm.setString(13, objeto.getCep());
pstm.setString(14, objeto.getUf());
pstm.setInt(15, objeto.getId());
pstm.setString(16, objeto.getCpf());
pstm.execute();
// fechando a conexão
pstm.close();
} catch (Exception erro) {
throw new RuntimeException(erro);
}
}
Código do botão Editar
// TODO add your handling code here:
try {
//botão editar
//1º passo - guardar os dados da tela no obj morador
Morador morador = new Morador();
morador.setRg(txtRg.getText());
morador.setUsuario(txtUsuarioMorador.getText());
morador.setSenha(txtSenha.getText());
morador.setNome(txtNomeMorador.getText());
morador.setCelular(txtCelular.getText());
morador.setNascimento(txtNascimento.getText());
morador.setEmail(txtEmail.getText());
morador.setLogradouro(txtLogradouro.getText());
morador.setNumero(txtNumero.getText());
morador.setComplemento(txtComplemento.getText());
morador.setBairro(txtBairro.getText());
morador.setMunicipio(txtMunicipio.getText());
morador.setCep(txtCep.getText());
morador.setUf(txtUf.getText());
morador.setId(Integer.parseInt(txtId.getText()));
morador.setCpf(txtCpf.getText());
//criando um objeto do tipo MoradorDAO
MoradorDao moradordao = new MoradorDao();
moradordao.editar(morador);
JOptionPane.showMessageDialog(null, "Dados alterados com sucesso!");
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, "ERRO AO ALTERAR OS DADOS: + erro");
//2º Limpe os campos de texto após a atualização
txtRg.setText("");
txtNomeMorador.setText("");
txtEmail.setText("");
txtCelular.setText("");
txtBairro.setText("");
txtLogradouro.setText("");
txtNumero.setText("");
txtComplemento.setText("");
txtCpf.setText("");
txtUsuarioMorador.setText("");
txtSenha.setText("");
txtCep.setText("");
txtMunicipio.setText("");
txtNascimento.setText("");
txtUf.setText("");
txtId.setText("");
}
Ressalto que a ordem e excrita dos atributos, estão iguais com o do banco de dados.