Não atualiza dados

Estou desenvolvendo uma aplicação em que cada vez que é cadastrado um produto no banco de dados,eu pego o ultimo registro das quantidade e somo com a quantidade nova a ser cadastrada e atualizo a tabela de estoque mas os dados não são atualizados.

Metodo classe EstoqueDAO

        public String alterarEstoque(Estoque1 est) {

    try {
        con = Conecta.conexao();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(EntradaMaquinaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }

    String resp = "";
    try {

        PreparedStatement pst = con.prepareStatement("UPDATE  tb_estoque SET  esto_cod = ?, esto_armazem  = ?, esto_categoria  = ?,esto_sub_categoria = ?,esto_hora=?,esto_data =?,esto_qtde=?,esto_preco=?,esto_qtde_min =?,esto_qtde_max =?,esto_tipo=?,esto_preco_medio=? where  esto_descricao = ?");

        //seta os valores
        pst.setInt(1, est.getEsto_cod());
        pst.setString(2, est.getEsto_armazem());
        pst.setString(3, est.getEsto_categoria());
        pst.setString(4, est.getEsto_sub_categoria());
        pst.setString(5, est.getEsto_hora());
        pst.setString(6, est.getEsto_data());
        pst.setInt(7, est.getEsto_qtde());
        pst.setDouble(8, est.getEsto_preco());
        pst.setInt(9, est.getEsto_qtde_min());
        pst.setInt(10, est.getEsto_qtde_max());
         pst.setString(11, est.getEsto_tipo());
          pst.setDouble(12, est.getEsto_preco_medio());
        pst.setString(13, est.getEsto_descricao());

        //pst.setInt(20,cli.getCli_cod());
        //pst.setInt(14,Integer.parseInt(txtNumero2.getText()));
        pst.executeUpdate();
        resp = "Dados do estoque alterados:";

    } catch (Exception e) {
        System.out.println("Erro na alteração de dados:\n Erro:" + e.getMessage());

    }
    return resp;

   }

Ele lança alguma Exception ?

Oi Felipe100!

Está dando algum erro? Alguma Exception? Se sim, posta a stack trace ou pelo menos o nome da Exception para a gente ver (ou então a mensagem de erro mesmo). Podem ser várias coisas: está passando um valor nulo em alguns dos parâmetros do PreparedStatement, algum campo do campo pode estar errado, enfim… Quando puder, posta o erro pra gente poder te ajudar melhor!

A chave é a descrição?

Qual o resultado do executeUpdate()?

1 curtida

Por que não utilizas o ID do produto que esta cadastrado no estoque, é mais confiavel eu acho