public String AtualizarProduto(String referencia,String nome, ProdutoBin ProBin){
conexao bd = new conexao();
String retorno = "erro";
int res;
try{
Connection ExConn = bd.abrirBDConn();
Statement stmt = ExConn.createStatement();
res = stmt.executeUpdate("UPDATE mappingbabybd.bolsa SET ref = '"+referencia+"', nome = '"+nome+"' WHERE ref = " + ProBin.getReferencia()+"'");
if(res==1) JOptionPane.showMessageDialog(null, "O produto foi atualizado com sucesso.");
stmt.close();
bd.fecharBDConn();
}catch(Exception e){
JOptionPane.showMessageDialog(null, "O produto não foi atualizado.");
}return retorno;
}
JButton btnAtualizar = new JButton("Salvar");
btnAtualizar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ProBin.setReferencia(ref_text.getText());
ProBin.setNome(nome_text.getText());
BancoControl.AtualizarProduto(ref_text.getText(), nome_text.getText(), ProBin);
}
});
pela logica está tudo certo, ao clicar no botao salvar ele pega os valores dos campos ref_text e ref_nome e joga no ProBin.
Ai chama o metodo do controle AtualizarProduto que manda como parametro os valores dentro dos campos ref_text e ref_nome e o ProBin.
no metodo ele da um update, setando os valores novos.
Na logica esta correto né?
mas quando clico no atualizar, ele ja parte pra msg ( O produto não foi atualizado.)
Tem alguma sugestao?
Eu coloquei um System.out.println(res); antes do if, e o comando sql ta retornando 0, por isso qeu ele nao esta dando o UPDATE.
acho que tem algum erro na string do UPDATE. mas n consigo achar qual. Eu tb ja testei pra saber se tem algum valor no ProBin, e os valores estao nele. só falta atualizar certo. estou errado em algum ponto da string?