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