在使用QT的QSqlQueryModel操做SQLite數據庫的時候,經過model->rowCount();只能返回最多256。這個問題須要經過在操做結果前先經過fetchmore()來獲取全部的結果,而後得到具體的行數。數據庫
QT的QSqlQuery或QSqlQueryModel每次最多隻能緩存查詢結果的256條。若是查詢語句操做的結果超過256條了,也只能返回256。這樣就必然會致使在後續操做中的錯誤。緩存
解決方法以下:fetch
1. while(model->canFetchMore()) it
2. { model
3. model->fetchMore(); bug
4. } 方法
5. 數據
6. for(int i = 0; i < model->rowCount(); i++) 查詢
7. while
8. {
9.
10. qDebug()<<model->data(model->index(i,0)).toString();
11.
12. }