Получить данные из базы данных sqlite, используя qt - PullRequest
0 голосов
/ 07 января 2019

Я хочу получить данные из базы данных sqlite, я использую этот код, он работает только для небольших строк, но при попытке чего-то большого, например, 300000, он не работает код:

  QString serVal = "searchItem";
        QSqlQuery qry;

            qry.exec("select * from myTable");

            while (qry.next()) { 
                 if(serVal == qry.value("myCol1").toString())
                 {
                     qDebug () << qry.value("myCol2").toString();
                     qDebug () << qry.value("myCol5").toString();
                     qDebug () << qry.value("myCol8").toString();
                     break;

                 }
            }

1 Ответ

0 голосов
/ 08 января 2019

Используйте QSqlQueryModel вместо QSqlQuery следующим образом:

QSqlQueryModel queryModel;
queryModel->setQuery("select * from myTable");

while (queryModel.canFetchMore())
            queryModel.fetchMore();

for (int i = 0; i < queryModel.rowCount(); i++)
{
 // Your data
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...