Qt-interest Archive, May 2007
QSqlTableModel and difficult SELECT routine
Message 1 in thread
Hi!
I have got QSqlTableModel and associated with it QTableView.
To populate model with data I have to use QSqlQuery which is executed on
some other table. How can I add results of QSqlQuery into
QSqlTableModel->filter()
For example I have 2 tables in DB:
-----visits_table-----
| visit_id | date |
----------------------
| 10 | 1-1-2001
| 11 | 2-2-2002
| 12 | 3-2-2002
-----------------------
-----payments_table-----------
| visit_id | price(y.e.) |
------------------------------
| 10 | 1500 |
| 11 | 7500 |
| 12 | 2700 |
------------------------------
QSqlTableModel payments->setTable( "payments" );
QSqlQuery filter_visit_id_by_date;
filter_visit_id_by_date.exec("SELECT visit_id
FROM visits WHERE date > '1-1-2002' );
This query will return visit_id's for those records that were made after
1-1-2002 ( e.g. in 2002 year and all after this year ).
Now I have to set-up payments model filters to use QSqlQuery results:
-----visits_table-----
| visit_id | date |
----------------------
| 11 | 2-2-2002
| 12 | 3-2-2002
-----------------------
And use those results to filter records inside QSqlTableModel ( payments
model):
-----payments_table-----------
| visit_id | price(y.e.) |
------------------------------
| 11 | 7500 |
| 12 | 2700 |
------------------------------
E.g. payments->setFilter( "payments.visit_id IN" +
filter_visit_id_by_date????RESULT );
where filter_visit_id_by_date???RESULT == '11 12'
Is it possible to make?
--
[ signature omitted ]