Então, tenho uma tela de cadastro com o botão alterar que faz o UPDATE no banco e está funcionando certinho, realizando o UPDATE, porém o CPF que é a Primary Key no banco ele não está atualizando, está mantendo o que estava no banco.
E não encontrei nenhuma falha nos códigos, então não sei o por que não está alterando.
Os códigos são os seguintes:
VIEW
BOTÃO ALTERAR JOGA AS INFORMAÇÕES PARA OS CAMPOS
private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {
salvarAlterar = "altear";
modelCadastroUsuarios = new ModelCadastroUsuarios();
int linha = tabelaConsultaUsuarios.getSelectedRow();
long codigo = 0;
if (linha < 0) {
JOptionPane.showMessageDialog(this, "Selecione um produto na tabela, antes de clicar em alterar!");
limparCampos();
} else {
BLDatas bl = new BLDatas();
codigo = (long) tabelaConsultaUsuarios.getValueAt(linha, 0);
modelCadastroUsuarios = controllerCadastroUsuarios.retornarCadastroUsuariosController(codigo);
fieldCPF.setText(String.valueOf(modelCadastroUsuarios.getCpf()));
fieldNome.setText(modelCadastroUsuarios.getNome());
fieldEmail.setText(modelCadastroUsuarios.getEmail());
fieldTelefone.setText(String.valueOf(modelCadastroUsuarios.getTelefone()));
try {
fieldDataNascimento.setText(bl.converterDataUSParaDateString(modelCadastroUsuarios.getDataNascimento()));
} catch (Exception ex) {
Logger.getLogger(ViewCadastroUsuario.class.getName()).log(Level.SEVERE, null, ex);
}
fieldUsuario.setText(modelCadastroUsuarios.getUsuNome());
fieldSenha.setText(modelCadastroUsuarios.getUsuSenha());
}
habilitarDesabilitarCampos(true);
}
AGORA A FUNÇÃO DE SALVAR E ALTERAR
OBS: NESTE CÓDIGO O ALTERAR JÁ IRÁ CAIR NO ELSE, O IF SERÁ CASO A PESSOA ESCOLHA SALVAR UM NOVO CADASTRO.
public void salvar() {
BLDatas bl = new BLDatas();
modelCadastroUsuarios = new ModelCadastroUsuarios();
modelCadastroUsuarios.setCpf(Long.parseLong(fieldCPF.getText()));
modelCadastroUsuarios.setNome(fieldNome.getText());
modelCadastroUsuarios.setEmail(fieldEmail.getText());
modelCadastroUsuarios.setTelefone(Long.parseLong(fieldTelefone.getText()));
try {
modelCadastroUsuarios.setDataNascimento(bl.converterDataStringParaDate(fieldDataNascimento.getText()));
} catch (Exception ex) {
Logger.getLogger(ViewCadastroUsuario.class.getName()).log(Level.SEVERE, null, ex);
}
modelCadastroUsuarios.setUsuNome(fieldUsuario.getText());
modelCadastroUsuarios.setUsuSenha(fieldSenha.getText());
if (salvarAlterar.equals("salvar")) {
if (controllerCadastroUsuarios.salvarCadastroUsuariosController(modelCadastroUsuarios) >= 0) {
JOptionPane.showMessageDialog(this, "Cadastro de usuário realizado com sucesso!", "Notificação", JOptionPane.WARNING_MESSAGE);
limparCampos();
habilitarDesabilitarCampos(false);
salvarAlterar = "salvar";
} else {
JOptionPane.showMessageDialog(this, "Erro ao cadastrar o usuário!", "Erro", JOptionPane.ERROR_MESSAGE);
}
} else {
if (controllerCadastroUsuarios.atualizarCadastroUsuariosController(modelCadastroUsuarios)) {
JOptionPane.showMessageDialog(this, "Cadastro alterado com sucesso!", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
limparCampos();
carregarCadastros();
salvarAlterar = "alterar";
} else {
JOptionPane.showMessageDialog(this, "Erro ao alterar o cadastro!", "Erro", JOptionPane.ERROR_MESSAGE);
}
}
}
AGORA O UPDATE:
public boolean atualizarCadastroUsuariosDAO(ModelCadastroUsuarios pModelCadastroUsuarios) {
try {
this.conectar();
return this.executarUpdateDeleteSQL(
"UPDATE tbl_usuarios SET "
+ "pk_id_codigo = '" + pModelCadastroUsuarios.getCpf() + "',"
+ "cad_usu_nome = '" + pModelCadastroUsuarios.getNome() + "',"
+ "cad_usu_email = '" + pModelCadastroUsuarios.getEmail() + "',"
+ "cad_usu_telefone = '" + pModelCadastroUsuarios.getTelefone() + "',"
+ "cad_usu_dataNasc = '" + pModelCadastroUsuarios.getDataNascimento()+ "',"
+ "cad_usu_login = '" + pModelCadastroUsuarios.getUsuNome() + "',"
+ "cad_usu_senha = '" + pModelCadastroUsuarios.getUsuSenha() + "'"
+ " WHERE "
+ "pk_id_codigo = '" + pModelCadastroUsuarios.getCpf() + "'"
+ ";"
);
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
this.fecharConexao();
}
}