Boa tarde, fiz uma classe DAO para atualizar uma tabela no banco de dados, aparentemente funciona pois retorna o JOptionPane.ShowMensageDiallog “Atualizado com sucesso”; o problema é que quando vou verificar no banco de dados não atualizou nada, se alguém ouder me ajudar agradeço, segue o código
Postar código amigo. Aí nos tenta ajudar
Geralmente isso acontece por não colocar o pst.execute();
. Mas seria legal mandar o código de onde está o método pra editar, não a imagem
@Robsonnn, selecione todo o seu código, cole aqui e depois selecione ele todo aqui e aperte o ícone " </>" que fica acima da caixa de texto de onde vc digita as respostas. Assim o código fica legível pra gente poder ajudar
//MODELO DAO
public void editar(BeansObra mod){
conex.conexao();
try {
PreparedStatement pst = conex.con.prepareStatement("update dadosobra set municipio=?,localidade=?,validade=?,recurso=?,codigo=?,ta=?,programa=?,a1=?,a2=?,a3=?,a4=?,a5=?,a6=?,a7=?,a8=?,a9=?,a10=?,b1=?,b2=?,b3=?,b4=?,b5=?,b6=?,b7=?,b8=?,b9=?,b10=?,c1=?,c2=?,c3=?,c4=?,c5=?,c6=?,c7=?,c8=?,c9=?,c10=?,engenheiro=?,tecnico=?,d1=?,d2=?,d3=?,d4=?,d5=?,d6=?,d7=?,d8=?,d9=?,d10=?,e1=?,e2=?,e3=?,e4=?,e5=?,e6=?,e7=?,e8=?,e9=?,e10=? where cod=?");
pst.setString(1, mod.getMunicipio()); //,a1=?,a2=?,a3=?,a4=?,a5=?,a6=?,a7=?,a8=?,a9=?,a10=?,b1=?,b2=?,b3=?,b4=?,b5=?,b6=?,b7=?,b8=?,b9=?,b10=?,c1=?,c2=?,c3=?,c4=?,c5=?,c6=?,c7=?,c8=?,c9=?,c10=?
pst.setString(2,mod.getLocalidade());
pst.setString(3,mod.getValidade());
pst.setInt(4,mod.getRecurso());
pst.setString(5, mod.getCodcont());
pst.setString(6, mod.getTa());
pst.setString(7, mod.getProg());
pst.setInt(8, mod.getCodigo());
pst.setString(9, mod.getA1());
pst.setString(10, mod.getA2());
pst.setString(11, mod.getA3());
pst.setString(12, mod.getA4());
pst.setString(13, mod.getA5());
pst.setString(14, mod.getA6());
pst.setString(15, mod.getA7());
pst.setString(16, mod.getA8());
pst.setString(17, mod.getA9());
pst.setString(18, mod.getA10());
pst.setString(19, mod.getB1());
pst.setString(20, mod.getB2());
pst.setString(21, mod.getB3());
pst.setString(22, mod.getB4());
pst.setString(23, mod.getB5());
pst.setString(24, mod.getB6());
pst.setString(25, mod.getB7());
pst.setString(26, mod.getB8());
pst.setString(27, mod.getB9());
pst.setString(28, mod.getB10());
pst.setString(29, mod.getC1());
pst.setString(30, mod.getC2());
pst.setString(31, mod.getC3());
pst.setString(32, mod.getC4());
pst.setString(33, mod.getC5());
pst.setString(34, mod.getC6());
pst.setString(35, mod.getC7());
pst.setString(36, mod.getC8());
pst.setString(37, mod.getC9());
pst.setString(38, mod.getC10());
pst.setString(39, mod.getEngenheiro());
pst.setString(40, mod.getTecnico());
pst.setString(41, mod.getD1());
pst.setString(42, mod.getD2());
pst.setString(43, mod.getD3());
pst.setString(44, mod.getD4());
pst.setString(45, mod.getD5());
pst.setString(46, mod.getD6());
pst.setString(47, mod.getD7());
pst.setString(48, mod.getD8());
pst.setString(49, mod.getD9());
pst.setString(50, mod.getD10());
pst.setString(51, mod.getE1());
pst.setString(52, mod.getE2());
pst.setString(53, mod.getE3());
pst.setString(54, mod.getE4());
pst.setString(55, mod.getE5());
pst.setString(56, mod.getE6());
pst.setString(57, mod.getE7());
pst.setString(58, mod.getE8());
pst.setString(59, mod.getE9());
pst.setString(60, mod.getE10());
pst.execute();
JOptionPane.showMessageDialog(null, "Obra Atualizada com sucesso!!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao Alterar Dados/ Erro:"+ex);
}
conex.desconecta();
}
//BOTÃO SALVAR DO FORMULARIO
if (flag==1){
mod.setMunicipio(b104.getText());
mod.setLocalidade(b106.getText());
mod.setValidade(b108.getText());
mod.setRecurso(Integer.parseInt(b116.getText()));
mod.setCodcont(b114.getText());
mod.setTa(b110.getText());
mod.setProg(b112.getText());
mod.setA1(b13.getText());
mod.setA2(b14.getText());
mod.setA3(b15.getText());
mod.setA4(b16.getText());
mod.setA5(b17.getText());
mod.setA6(b18.getText());
mod.setA7(b19.getText());
mod.setA8(b20.getText());
mod.setA9(b21.getText());
mod.setA10(b22.getText());
mod.setB1(b33.getText());
mod.setB2(b34.getText());
mod.setB3(b35.getText());
mod.setB4(b36.getText());
mod.setB5(b37.getText());
mod.setB6(b38.getText());
mod.setB7(b39.getText());
mod.setB8(b40.getText());
mod.setB9(b41.getText());
mod.setB10(b42.getText());
mod.setC1(b23.getText());
mod.setC2(b24.getText());
mod.setC3(b25.getText());
mod.setC4(b26.getText());
mod.setC5(b27.getText());
mod.setC6(b28.getText());
mod.setC7(b29.getText());
mod.setC8(b30.getText());
mod.setC9(b31.getText());
mod.setC10(b32.getText());
mod.setEngenheiro(jTextFieldGestor.getText());
mod.setTecnico(jTextFieldTecnico.getText());
mod.setD1(b63.getText());
mod.setD2(b64.getText());
mod.setD3(b65.getText());
mod.setD4(b66.getText());
mod.setD5(b67.getText());
mod.setD6(b68.getText());
mod.setD7(b69.getText());
mod.setD8(b70.getText());
mod.setD9(b71.getText());
mod.setD10(b72.getText());
mod.setE1(b73.getText());
mod.setE2(b74.getText());
mod.setE3(b75.getText());
mod.setE4(b76.getText());
mod.setE5(b77.getText());
mod.setE6(b78.getText());
mod.setE7(b79.getText());
mod.setE8(b80.getText());
mod.setE9(b81.getText());
mod.setE10(b82.getText());
control.Salvar(mod);
b104.setText("");
b106.setText("");
b108.setText("");
b116.setText("");
b114.setText("");
b110.setText("");
b112.setText("");
b104.setEnabled(false);
b106.setEnabled(false);
b108.setEnabled(false);
b116.setEnabled(false);
b114.setEnabled(false);
b110.setEnabled(false);
b112.setEnabled(false);
jButtonSalvar.setEnabled(false);
jButtonCancelar.setEnabled(true);
}else{
mod.setMunicipio(b104.getText());
mod.setLocalidade(b106.getText());
mod.setValidade(b108.getText());
mod.setRecurso(Integer.parseInt(b116.getText()));
mod.setCodcont(b114.getText());
mod.setTa(b110.getText());
mod.setProg(b112.getText());
mod.setCodigo((Integer.parseInt(jTextFieldCOD.getText())));
mod.setA1(b13.getText());
mod.setA2(b14.getText());
mod.setA3(b15.getText());
mod.setA4(b16.getText());
mod.setA5(b17.getText());
mod.setA6(b18.getText());
mod.setA7(b19.getText());
mod.setA8(b20.getText());
mod.setA9(b21.getText());
mod.setA10(b22.getText());
mod.setB1(b33.getText());
mod.setB2(b34.getText());
mod.setB3(b35.getText());
mod.setB4(b36.getText());
mod.setB5(b37.getText());
mod.setB6(b38.getText());
mod.setB7(b39.getText());
mod.setB8(b40.getText());
mod.setB9(b41.getText());
mod.setB10(b42.getText());
mod.setC1(b23.getText());
mod.setC2(b24.getText());
mod.setC3(b25.getText());
mod.setC4(b26.getText());
mod.setC5(b27.getText());
mod.setC6(b28.getText());
mod.setC7(b29.getText());
mod.setC8(b30.getText());
mod.setC9(b31.getText());
mod.setC10(b32.getText());
mod.setEngenheiro(jTextFieldGestor.getText());
mod.setTecnico(jTextFieldTecnico.getText());
mod.setD1(b63.getText());
mod.setD2(b64.getText());
mod.setD3(b25.getText());
mod.setD4(b26.getText());
mod.setD5(b27.getText());
mod.setD6(b28.getText());
mod.setD7(b29.getText());
mod.setD8(b30.getText());
mod.setD9(b31.getText());
mod.setD10(b32.getText());
mod.setE1(b73.getText());
mod.setE2(b74.getText());
mod.setE3(b75.getText());
mod.setE4(b76.getText());
mod.setE5(b77.getText());
mod.setE6(b78.getText());
mod.setE7(b79.getText());
mod.setE8(b80.getText());
mod.setE9(b81.getText());
mod.setE10(b82.getText());
control.editar(mod);
b104.setText("");
b106.setText("");
b108.setText("");
b116.setText("");
b114.setText("");
b110.setText("");
b112.setText("");
b14.setText("");
b15.setText("");
b16.setText("");
b17.setText("");
b18.setText("");
b19.setText("");
b20.setText("");
b21.setText("");
b22.setText("");
b23.setText("");
b24.setText("");
b25.setText("");
b26.setText("");
b27.setText("");
b28.setText("");
b29.setText("");
b30.setText("");
b31.setText("");
b32.setText("");
b104.setEnabled(false);
b106.setEnabled(false);
b108.setEnabled(false);
b116.setEnabled(false);
b114.setEnabled(false);
b110.setEnabled(false);
b112.setEnabled(false);
jButtonSalvar.setEnabled(false);
jButtonCancelar.setEnabled(true);
}
}
O pior é que não cai nem no catch, roda como se tivesse dado tudo certo, aparece a mensagem qua alterou com sucesso, só que quando vou olhar na tabela não está atualizado.
Eu verifiquei e está lá o pst.execute();
Fala ai @Robsonnn troca no catch para:
catch(Exception ex) {
Pois o Erro que pode estar sendo gerado pode não ser uma SQLException dai ele nem cai nesse catch e continua a execução.
Substituido para a Exception qualquer erro que der vai cair no catch
Abraços
Max
passo a vez, mas …
…
pst.setString(60, mod.getE10());
é o id?
vlw meu amigo, vou tentar isso assim que chegar em casa:)
não, é só um valor mais não é o identificador é um valor de porcentagem, mais estou passando como string, e converto na programação.
infelizmente não deu certo continuou igual, aparece alterado com sucesso mais não muda nada no banco e não cai no catch
tenta trocar por “executeUpdate”
Opa descobri o que era o : pst.setInt(8, mod.getCodigo()); estava na posição errada ele tinha que ser o 60 pois ele é o ID, troquei e funcionou. Obrigado pela ajuda mesmo assim