View Full Version : [QT / c++] Tabella sqlite con più di 256 record
Wing_Zero
05-08-2010, 18:20
Sono ore che sto sbattendo la testa con questo problema e non so come risolvere.
Ho un DB gestito tramite il driver QSQLITE e un QSQLQUERYMODEL associato ad una viata (QTREEVIEW).
tutto ok, finchè non ho più di 256 record nella query che effettuo. Da quel momento in poi la treeview ne visualizza solo 256 ... (ed inoltre cambiano a seconda di come mi muovo con la barra di scorrimento...a volte ne esclude alcuni, a volte altri...).
Ovviamente su google non si trova proprio niente, nemmeno nella documentazione. Pessima tutta la documentazione delle QT cmq.
Sono ore che sto sbattendo la testa con questo problema e non so come risolvere.
Ho un DB gestito tramite il driver QSQLITE e un QSQLQUERYMODEL associato ad una viata (QTREEVIEW).
tutto ok, finchè non ho più di 256 record nella query che effettuo. Da quel momento in poi la treeview ne visualizza solo 256 ... (ed inoltre cambiano a seconda di come mi muovo con la barra di scorrimento...a volte ne esclude alcuni, a volte altri...).
Ovviamente su google non si trova proprio niente, nemmeno nella documentazione. Pessima tutta la documentazione delle QT cmq.
Sarebbe interessante capire in che modo ottieni i dati del QSqlQueryModel.
Dato che non ci dici niente, e che onestamente non conosco bene le caratteristiche di SQLite, potresti provare a controllare se è necessario continuare la lettura:
while (model->canFetchMore())
model->fetchMore();
dopodiché, imposta normalmente la view per il modello.
Wing_Zero
05-08-2010, 21:03
Sarebbe interessante capire in che modo ottieni i dati del QSqlQueryModel.
Dato che non ci dici niente, e che onestamente non conosco bene le caratteristiche di SQLite, potresti provare a controllare se è necessario continuare la lettura:
while (model->canFetchMore())
model->fetchMore();
dopodiché, imposta normalmente la view per il modello.
grazie per la risposta. ora provo. Cmq se puo' essere di aiuto:
Db* movieDb = new Db("QSQLITE","movies.db","db/sqlite/");
QSqlQueryModel* model = new QSqlQueryModel;
QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(model);
ui->treeView->setModel(proxyModel);
QSqlQuery query("SELECT * FROM MovieDB"); //MovieDB è l'unica tabella del DB
model->setQuery( query );
Wing_Zero
05-08-2010, 21:13
Sarebbe interessante capire in che modo ottieni i dati del QSqlQueryModel.
Dato che non ci dici niente, e che onestamente non conosco bene le caratteristiche di SQLite, potresti provare a controllare se è necessario continuare la lettura:
while (model->canFetchMore())
model->fetchMore();
dopodiché, imposta normalmente la view per il modello.
Great! that did the tricks!
Non so come ringraziarti. Infinitamente! :)
Great! that did the tricks!
Non so come ringraziarti. Infinitamente! :)
Nice ;) :sofico:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.