返回结果的大小(返回的行数)
或者返回-1
(如果大小不能被决定 或者 数据库不支持报告查询的大小信息)
注意:对于非查询语句,将返回-1(isSelect()返回false)
如果查询不是活跃的(isActive()),返回-1.
为了确定非查询语句影响的行数,使用numRowsAffected().
情况1:
之前在查询达梦数据库的数据时,使用该函数返回-1.
现在猜测应该是达梦数据库不支持报告查询的大小信息
---
情况2:
与MySQL进行交互时,使用该接口,可以查询到相关信息。
cpp
QSqlQuery query(m_database);
query.exec("SELECT * FROM test;");
while(query.next())
str += query.value(0).toString() + "|";
qDebug()<<__FILE__<<"["<<__LINE__<<"]"<<query.size();
打印出的信息:
debug\../../demo/widget.h [ 48 ] 1200
与数据库中信息进行对照:
情况3:
与Sqlite交互时,测试也不支持报告查询的大小信息
cpp
QSqlQuery query(database);
query.exec("select * from menu");
if (!query.exec())
{
qDebug() << "Error:" << query.lastError();
}
else {
while (query.next())
{
qDebug() << query.value("name").toString();
}
qDebug() << query.size();
}
结果是-1
实际的记录数: