1.从数据库中获取数据行数,使用QSqlQueryModel,数据量有1891条,但返回的结果总是256
# 得到记录数 def getTotalRecordCount(self): self.queryModel.setQuery("SELECT * FROM h_info") self.totalRecord = self.queryModel.rowCount()return
2.网上查询结果原因是QSqlTableModel select数据完成后,当数据记录数目多于256时,rowCount 返回值最大为256.
为了强制获取整个数据集,要实现返回所有结果,则需要添加如下代码,如下所示:
# 得到记录数 def getTotalRecordCount(self): self.queryModel.setQuery("SELECT * FROM h_info") # QSqlTableModel select数据完成后,当数据记录数目多于256时,rowCount 返回值最大为256.为了强制获取整个数据集 # 所以必须实现以下,否则返回256 while(self.queryModel.canFetchMore()): self.queryModel.fetchMore() self.totalRecord = self.queryModel.rowCount()return
