[Qt-interest] HOW to make 'void QSqlTableModel::setFilter ( const QString & filter )' work

Me dooit.lee at gmail.com
Tue Jun 7 19:19:20 CEST 2011


I really don't want to post this, but it seems there is still no solution on
using QSqlTableModel::setFilter(const QString&) to get expected result. I
have been google and search on qt-interest mailing list, but I still found
nothing helpful on how to use QSqlTableModel::setFilter(const QString&) to
get expected result such as 'SELECT * FROM card WHERE id = 2'. When
setFilter(QString("id = %1").arg(userId)) (ps: where userId is 2)) and I
selected, cardModel::rowCount() (which is QSqlRelationalTableModel) returns
0 and cardView (which is QTableView) display nothing.

I have read the docs (Qt4.7) and I know how to use
QSqlTableModel::setFilter(cosnt QString&), but the law of attraction seems
not work. Does anyone get some idea what I should do?

HERE I have a subroutine about QSqlTableModel::setFilter(const QString&)
========================================================
void BankAccountMS::on_fromCardIdEdit_textChanged(const QString &text)
{
        if (!NDEBUG) {
                cerr << "on_fromCardIdEdit_textChanged()\n";
                cerr << "text.size(): " << text.size() << endl;
                cerr << "text: " << text.toStdString() << endl;
        }

        QString filter;

        if (userId != ROOT_ID && userId != INVALID_ID) {
                filter += QString("id = %1 ").arg(userId);
                if (text.size() != 0)
                        filter += "AND ";
        }

        if (text.size() != 0) {
                filter += "id REGEXP '" + text + "'";
        }

        cardModel->setFilter(filter);
        cardModel->select();

        if  (!NDEBUG) {
                cerr << "filter: " << filter.toStdString() << endl;
                cerr << "filter():"
                     << cardModel->filter().toStdString() << endl;
        //      cerr << "cardModel->selectStatement(): "
        //           << (cardModel->selectStatement()).toStdString() <<
endl;
        }
}
=====================================================================

-- 
Victory Loves Preparation.
Me: http://about.me/dooit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110608/d9ab370f/attachment.html 


More information about the Qt-interest-old mailing list