測試:
這里有一個sqlite數據庫
存儲了10萬多條數據,col1是1,col2是2.?
使用QSqlQueryModel和QTableView來顯示這些數據,也非常非常流暢。
QString aFile = QString::fromLocal8Bit("E:/桌面/3.db");if (aFile.isEmpty())return;//打開數據庫DB = QSqlDatabase::addDatabase("QSQLITE"); DB.setDatabaseName(aFile); //設置數據庫名稱if (!DB.open()) //打開數據庫{QMessageBox::warning(this, "錯誤", "打開數據庫失敗",QMessageBox::Ok, QMessageBox::NoButton);return;}qryModel = new QSqlQueryModel(this);qryModel->setQuery("select rowid,col1,col2 from test;");if (qryModel->lastError().isValid()){QMessageBox::critical(this, "錯誤", "數據表查詢錯誤,錯誤信息\n" + qryModel->lastError().text(),QMessageBox::Ok, QMessageBox::NoButton);return;}tableView = new QTableView;tableView->setModel(qryModel);this->setCentralWidget(tableView);
可以看到數據是動態加載的。