Qt中获取表的行数(记录个数)及字段数目

自己找到了两种可行的方法

下面是Qt中数据库的连接的一种方式:

 //选择数据库类型并连接
 DB = QSqlDatabase::addDatabase("QSQLITE");
 DB.setDatabaseName("attendence.db");
 //打开数据库
 if(!DB.open()){
     QMessageBox::warning(this, "错误", "打开数据库失败", QMessageBox::Ok, QMessageBox::NoButton);
     return ;
 }
 //启动数据库相关指令操纵
 query = QSqlQuery(DB);
方案一 利用QSqlQueryModel的rowCount()方法,需要查询语句和绑定query
query.exec("SELECT * FROM attendanceDB");
QSqlQueryModel *queryModel = new QSqlQueryModel();
queryModel->setQuery(query);
int nRecordCount = queryModel->rowCount();
方案二 利用QSqlTableModel的rowCount()方法,需要绑定数据库和表名
QSqlTableModel *tableModel = new QSqlTableModel(this, DB);
tableModel->setTable("attendanceDB");
tableModel->select();
int nRecordCount = tableModel->rowCount();
备注: 其实用query.next()方法,遍历表,得到表中条目数也是可以的。
补充一个: 返回字段数目
QSqlTableModel *tableModel = new QSqlTableModel(this, DB);
tableModel->setTable("attendanceDB");
QSqlRecord rec = tabelModel->record();
qDebug() << rec.count();
  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值