PYQT5 QSqlQueryModel/QSqlTableModel 仅能获取256行的问题


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM