[Qt-interest] search a item in model and get the row number

Mhayk Whandson eu at mhayk.com.br
Tue Jul 21 14:46:59 CEST 2009


Hi all,

I am trying to select the last item that I added in the database. I am
using QTableView to show the product registered in the database. After
the user fill all fields and click the pushbutton "Save", I create a
new object from QSqlQuery:

void ProductRegistration::RecordNewProduct(void)
{
    QSqlQuery *insert = new QSqlQuery;
    QSqlQueryModel groupid;
    QSqlQueryModel manufacturerid;

    groupid.setQuery(QString(GROUP_SELECTED_ID).arg(m_ui->comboBoxGrupo->currentText()));
    manufacturerid.setQuery(QString(MANUFACTURER_SELECTED_ID).arg(m_ui->comboBoxFabricante->currentText()));

    insert->prepare(PRODUCT_INSERT);

    insert->addBindValue(m_ui->lineEditCodigoDeBarra->text());
    insert->addBindValue(m_ui->lineEditDescricao->text());
    insert->addBindValue(manufacturerid.record(0).value("id").toString());
    insert->addBindValue(groupid.record(0).value("id").toString());
    insert->addBindValue(m_ui->lineEditICMS->text());
    insert->addBindValue(m_ui->lineEditTabelaFiscal->text());
    insert->addBindValue(m_ui->lineEditSituacaoTributaria->text());
    insert->addBindValue(m_ui->lineEditIPI->text());
    insert->addBindValue(m_ui->lineEditPrecoDeCusto->text());
    insert->addBindValue(m_ui->lineEditMargemDeLucro->text());
    insert->addBindValue(m_ui->lineEditPrecoDeVenda->text());
    insert->addBindValue(m_ui->lineEditDescMaximo->text());
    insert->addBindValue(m_ui->lineEditFracao->text());
    insert->addBindValue(m_ui->lineEditComissao->text());
    if (m_ui->checkBoxVendaSemEstoque->isTristate() == true )
        insert->addBindValue("True");
    else
        insert->addBindValue("False");
    if (m_ui->checkBoxControlarValidade->isTristate() == true )
        insert->addBindValue("True");
    else
        insert->addBindValue("False");
    if (m_ui->groupBoxAnvisa->isChecked() == true )
        insert->addBindValue("True");
    else
        insert->addBindValue("False");
    insert->addBindValue(m_ui->lineEditAnvisaMatricula->text());
    insert->addBindValue(m_ui->lineEditEstoqueMaximo->text());
    insert->addBindValue(m_ui->lineEditEstoqueMinimo->text());

    insert->exec();
    CleanAllFields();
    RefreshTableView();

    delete insert;
}

My problem is how to select the last product added ? I was thinking
the search using the product's code in the model, after I will get the
row number, could you help me ? I just would like to show the last
product registered selected in the QTableView.

best regards,

-- 
Mhayk Whandson
Linux User #413723
E-mail: eu at mhayk.com.br



More information about the Qt-interest-old mailing list