[Resolvido] Auxilio em Update

4 respostas
PauloVitorB

Awe pessoal, é o seguinte eu tenho uma tela de caixa, e no meu caixa o usuario seleciona o produto e adiciona na lista, ao adicionar ele teria q diminir "1" do estoque desse produto ai estou com problema ao diminir o estoque! quem poder me ajudar, por favor agradeço!

try{ //tratamento de erros
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//busca Driver
            //conecta no BD
            Connection con=DriverManager.getConnection("jdbc:odbc:Banco1","","");
            Statement stmt= con.createStatement();//objeto comdo sql
            String ConsProduto = (String) jComboBox1.getSelectedItem();
            ResultSet RS = stmt.executeQuery("Select * from Produto where Produto='" + ConsProduto + "';");          
            
            while (RS.next()){
                Double ValorTotal = Double.parseDouble(jTextFieldValorTotal.getText());
                Double Valor1 = RS.getDouble("Preco"); 
                Total1 = ValorTotal + Valor1;
               jTextFieldValorTotal.setText(String.valueOf(Double.toString(Total1)));
               int quantidade = RS.getInt("Quantidade");
               int novaquantidade;
               novaquantidade = quantidade-1;
               JOptionPane.showMessageDialog(this, + novaquantidade);
               int registro = stmt.executeUpdate("UPDATE Produto set Quantidade='"+ novaquantidade + "' " + "where Produto='" + ConsProduto + "';");
              
            }
                 
            
            if (consulta=false) JOptionPane.showMessageDialog(this,"Dados Não Encontrados!");
            RS.close();
            stmt.close();
            con.close(); //fecha conexão com BD
        } catch(SQLException e){ //trata os erros
            JOptionPane.showMessageDialog(this,"Erro Comando SQL "+e.getMessage());
        } catch(ClassNotFoundException e){
            JOptionPane.showMessageDialog(this,"Driver não encontrado");
        }

4 Respostas

kenneth

Fala cara…

Da algum erro? Se a variavel consulta estiver retornando false, da uma
verificada na SQL que voce ta passando pra ser executada…

Se por acaso o comando parece ser bem executado mas nao salva o valor,
verifique os nomes dos campos da tabela.

PS: vi que voce colocou a tabela e o campo com o mesmo nome (Produto). Acredito
que fique mais claro se colocar nomes diferentes (nome do campo como ‘codigo’, por exemplo).

Abraco!

PauloVitorB

Ele ta dando a msg de Resulset closed.

ignacio83

Não reaproveite o Statment para fazer o update… Crie outro…

PauloVitorB

Valeu cara criei um novo Statement e ta funcionando, brigadao pela ajuda

Criado 17 de julho de 2009
Ultima resposta 17 de jul. de 2009
Respostas 4
Participantes 3