问题描述:SQLITE数据库,使用QSqlTableModel获取行数,调用函数rowCount(),仅能获取256行,故使用下面代码获取实际行数:
while(m_model->canFetchMore()){m_model->fetchMore();}
但实际使用发现效率很低,一旦查询10万条以上的数据很卡,耗时在10s以上,无法使用,故用SQL的count语句替换:
m_sqlQuery = m_model->query();
QString sql2=QString("SELECT COUNT(*) FROM table_name WHERE xxxx");
bool b=m_sqlQuery.exec(sql2);
while(m_sqlQuery.next())
{qDebug()<<m_sqlQuery.value(0).toString();
}
上述耗时在毫秒级。