Registrar venda

4 respostas
M

Pessoal, estou desenvolvendo um projeto para conclusão do curso tecnico em informática e preciso da ajuda de vocês para solucionar um problema que estou enfrentando na tela de vendas, pois quando clico no botão finalizar vendas, finaliza, mas não limpa a tabela onde esta inclui os produtos da venda e se clico novamente no botão finalizar vendas, realiza a mesma venda novamente e não é isso que eu quero que faça, pois acho que o correto seria finalizar venda e limpar os campos da tabela para uma proxima venda. Aqui está o meu codigo:

public void cadastrarVenda(VendasBean venda){ 
        try {
                Connection ExConn = banco.conecta();
                String sSql =  "INSERT INTO VENDAS (CODIGO,USUARIOS_CODIGO, PRODUTOS_CODIGO, CLIENTES_CODIGO, DATA_VENDA, VALOR_TOTAL, QUANTIDADE)  VALUES(?,?,?,?,?,?,?)";
                PreparedStatement stm = ExConn.prepareStatement(sSql);
                stm.setInt(1, venda.getCodigo());
                stm.setInt(2, venda.getUsuarios_codigo());
                stm.setInt(3, venda.getProdutos_codigo());
                stm.setInt(4, venda.getClientes_codigo()); 
                stm.setDate(5, venda.getData_venda());
                stm.setDouble(6, venda.getValor_total());
                stm.setDouble(7, venda.getQuantidade());
                stm.executeUpdate();
		banco.desconecta();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

Aqui está o código de finalizar a venda:

private void btFinalizarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        cadastrarVenda();
    }                                           

    private void cadastrarVenda(){
        if (venda.size() == 0){
            JOptionPane.showMessageDialog(this, "Inclua pelo menos um produto!");
        } else {
            try {
                VendasControl vc = new VendasControl();
                SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
                java.util.Date d = new java.util.Date();
                Date data = Date.valueOf(formato.format(d));
                int codigo = vc.buscarCodigoUltimaVenda() + 1;
                for (int i = 0; i < venda.size(); i++){
                    venda.get(i).setClientes_codigo(clientes.get(cbClientes.getSelectedIndex()).getCodigo());
                    venda.get(i).setUsuarios_codigo(usuarios.get(cbUsuarios.getSelectedIndex()).getCodigo());
                    venda.get(i).setData_venda(data);
                    venda.get(i).setValor_total(total);
                    venda.get(i).setCodigo(codigo);
                    vc.cadastrarVenda(venda.get(i));
                }
                JOptionPane.showMessageDialog(this, "Venda cadastrada com sucesso!");
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(this, "Erro ao cadastrar Venda!");
            }
        }
    }

Por favor, me ajudem…

4 Respostas

luxu

eh soh setar dps de concluido todos os campos com zeros ou vazios…

M

como faço para setar depois de concluido todos os campos com zeros ou vazios ???

luxu

se for swing:

jtextfield.setText("");

se naum for:

String texto = “”;
int numero = 0;

dah pra ter uma ideia?

N

Boa tarde meu querido, estou com um projeto e é semelhante ao seu, pelo visto vc já resolveu seu problema, sera que vc poderia me ajudar?
o Meu problema é que se registro a venda de 2 produtos, no lugar de cadastrar os 2, registra só o utimo que inseri na greed 2 vezes.
Aguardo

Criado 5 de janeiro de 2011
Ultima resposta 5 de out. de 2012
Respostas 4
Participantes 3