ajuda com atualização de estoque



  • Olá tenho dificuldade em atualizar meu estoque após uma venda. estou desenvolvendo em c++ no Qt. Detalhe a venda e composta de vários produtos. qualquer ajuda ficarei grato.

    if(ui->tw_ca_listar->rowCount()>0){
    int idVenda;
    QString msgFimVenda;
    QString operador=ui->txt_ca_oper->text();
    QString clien=ui->txt_ca_cliente->text();
    double total=calculaTotal(ui->tw_ca_listar,4);
    QString tipg=ui->cb_ca_tipoPg->currentText();
    QString data=QDate::currentDate().toString("dd/MM/yyyy");
    QString hora=QTime::currentTime().toString("hh:mm:ss");

        QSqlQuery query;
        query.prepare("insert into tb_vendas (usuario,cliente,val_total,tipo_pgto,data_venda,hora_venda)values"
                      "('"+operador+"','"+clien+"',"+QString::number(total)+",'"+tipg+"','"+data+"','"+hora+"')");
        if(!query.exec()){
            QMessageBox::warning(this,"ERRO","Erro ao Registrar nova venda");
        }else{
            query.prepare("select id_venda from tb_vendas order by id_venda desc limit 1");
            query.exec();
            query.first();
            idVenda=query.value(0).toInt();
            msgFimVenda="Id Venda: "+QString::number(idVenda)+"\nValor Total: R$"+QString::number(total);
    
            int totallinhas=ui->tw_ca_listar->rowCount();
            int linha=0;
            while (linha<totallinhas){
                QString idprod=ui->tw_ca_listar->item(linha,0)->text();
                QString prod=ui->tw_ca_listar->item(linha,1)->text();
                QString qtde=ui->tw_ca_listar->item(linha,3)->text();
                QString valUn=ui->tw_ca_listar->item(linha,2)->text();
                QString valTot=ui->tw_ca_listar->item(linha,4)->text();
                query.prepare("insert into tb_prodvendas(id_venda,id_produto,produto,qtde,val_unit,val_total)values("+QString::number(idVenda)+",'"+idprod+"','"+prod+"',"+qtde+","+valUn+","+valTot+")");
                query.exec();
                linha++;
            }
            QMessageBox::information(this,"Venda Concluida",msgFimVenda);
            resetaCampos();
            removerLinhas(ui->tw_ca_listar);
            ui->lb_ca_total->setText("R$0.00");
        }
    }else{
        QMessageBox::warning(this,"ERRO","Não Existe item na venda\nPrimeiro adicione o Produto");
    }
    

    }



  • Olá @Hebert
    Poderia desenvolver melhor sua dúvida ? Qual o problema com o código citado no post (resultado esperado e o que acontecendo)?



  • Olá obrigado pela atenção. consegui resolver meu problema.
    estava chamando o update no local errado. grato


Log in to reply