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