QT数据库-获取记录数目
使用QT+sqlite3进行编码,需要获取符合条件的记录数目,意外的发现常用的获取方式无法工作,尝试了四种方式:
1.通过数据库的特征进行判断,如果不支持查询记录数目的特性,就使用笨方法(获取记录最后一条的序号,然后加一,这种方式运行略慢)
QSqlDatabase defaultDB = QSqlDatabase::database();
if (defaultDB.driver()->hasFeature(QSqlDriver::QuerySize)) { num = queryResult.size();
} else { queryResult.last();
num = queryResult.at() + 1;
}
2.有人建议使用这种方式,颇为的荒谬,queryResult.record()是获取字段域的值集合,只有一行记录符合要求,但是表有2个字段,那么使用这种方式获取的就是2,而并不是1.
num = queryResult.record().count();
3.从第一种方式可以看出,如果数据库不支持这种特性,那么它是完全无用的,返回-1
queryResult.size()
4.同size(),如果数据库不支持这种特性,只是返回0
queryResult.numRowsAffected()
【QT数据库-获取记录数目】
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 20170612时间和注意力开销记录
- 【剽悍读书营成长记录】2018年我收获了什么|【剽悍读书营成长记录】2018年我收获了什么 3357-小松
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 数据库设计与优化
- 课后分享记录
- EditText默认不获取焦点弹出键盘
- 数据库总结语句
- MySql数据库备份与恢复
- 感赏15+投射