加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – QSqlQuery size()始终返回-1

发布时间:2020-12-16 07:53:39 所属栏目:百科 来源:网络整理
导读:QSqlQuery query;QString queryText("SELECT * FROM section");query.exec(queryText);qDebug() query.size(); //always -1while (query.next()) qDebug() query.value(0).toString(); //got 16 records 方法size()始终返回-1.请帮忙.谢谢. 解决方法 SQLite
QSqlQuery query;
QString queryText("SELECT * FROM section");
query.exec(queryText);
qDebug() << query.size(); //always -1
while (query.next()) qDebug() << query.value(0).toString(); //got 16 records

方法size()始终返回-1.请帮忙.谢谢.

解决方法

SQLite不支持query.size().但是您可以通过变通方法获得行数. QSqlQuery :: last()检索结果中的最后一条记录(如果可用),并将查询定位在检索到的记录上.调用last()后,您可以检索最后一条记录的索引,并使用first()和previous()在第一条记录之前定位查询:
int numberOfRows = 0;
if(qry.last())
{
    numberOfRows =  qry.at() + 1;
    qry.first();
    qry.previous(); 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读