Olá pessoal sou iniciante em java, e estou fazendo um programa de venda mas estou com um probleminha quando vou registrar a venda no banco de dados preciso dar baixa no estoque também, no entanto o código de atualização dá erro, outro coisa também é que coloquei uma condição pra informar uma quantidade baixa no estoque porém da erro também, alguém pode me ajudar ?, por gentileza.
try {
VendaDao vd = new VendaDao();
Venda v1 = new Venda();
Produto p2 = new Produto();
ProdutoDao pd = new ProdutoDao();
String n = jTextnome.getText();
String v = jTextvalor.getText();
int q = Integer.valueOf(jTextvquant.getText());
String d = jTextdata.getText();
int qtprodbanco = 1;
int qtprodbanco2 = 5;
//AQUI DIGO AO USUÁRI SE TEM O PRODUTO NO ESTOQUE
if(p2.getQuantProd()>= qtprodbanco ){
JOptionPane.showMessageDialog(null, "produto em estoque"+" "+p2.getQuantProd());
//AQUI FAÇO O CADASTRO DA VENDA
v1.setDataVenda(d);
v1.setNomeVenda(n);
v1.setQuantVenda(q);
v1.setValorVenda(v);
vd.cadastrar_venda(v1);
//SETANDO A VENDA EM UMA TABELA
String data = v1.getDataVenda();
String nome = v1.getNomeVenda();
String valor = v1.getValorVenda();
String quant =String.valueOf(v1.getQuantVenda());
DefaultTableModel inserir = (DefaultTableModel) Pedidos.getModel(); // insere linha na tabela
inserir.addRow(new String[]{nome,valor, quant,data});
//CODIÇÃO FINAL
}
else if (p2.getQuantProd()==qtprodbanco2 ){
JOptionPane.showMessageDialog(null, "Atenção você tem a quantidade mínima deste produto abasteça seu estoque"+" "+p2.getQuantProd());
}
else{
JOptionPane.showMessageDialog(null, "não há produto em estoque"+" "+p2.getQuantProd());
}
//AQUI SERIA PRA DAR BAIXA NO ESTOQUE QUANDO EU FIZESSE A VENDA
//NO ENTANTO NÃO ESTÁ DANDO BAIXA
do{
int quantidade = 0, resultado = 0;
quantidade = p2.getQuantProd();
resultado = quantidade - v1.getQuantVenda();
pd.atualizarQuantidade(p2);
}while(p2.getQuantProd()== qtprodbanco);
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(teladeAtendimento.class.getName()).log(Level.SEVERE, null, ex);
}
este outro código é o método pra atualizar
public void atualizarQuantidade(Produto p1) throws SQLException{
Produto p2 = new Produto();
//conexão com o banco de dados======
connection = DriverManager.getConnection(CAMINHO, USUARIO_BD, SENHA_BD);
System.out.println(“Conectou ao banco!!!”);
//==============================
//Preparar a Query===========
String query = ATUALIZAR_QUANTIDADE_PELO_ID;
stmt = connection.prepareStatement(query);
stmt.setInt(1,p2.getQuantProd());
stmt.setString(2,p2.getNomeProd());
stmt.executeUpdate();
stmt.close();
connection.close();
System.out.println("Fechou Conexão");
}