Seite 1 von 1

Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 14:42
von DL3AD
Hallo in die Runde,
ich habe eine Abfrage auf eine SQLite DB gemacht und möchte die Anzahl der Datensätze welche die Query gezogen hat ermitteln.

Code: Alles auswählen

        # Daten selektieren
        query2 = QtSql.QSqlQuery()
        sql_str2 = """SELECT strftime('%d.%m.%Y',Datum), Menge
                              FROM tab01 ORDER BY Datum DESC"""
        query2.exec(sql_str2)
Wie macht man das am besten ?

Frank

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 15:00
von sparrow
In der Dokumentation scheint es eine Methode dafür zu geben.

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 15:50
von DL3AD
... hatte ich auch schon probiert - gibt dann -1 aus
Die Daten werden aber richtig in einer Tabelle angezeigt.

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 15:55
von sparrow
Dann zeig doch mal, was du tust, dass da -1 herahs kommt.

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 16:21
von DL3AD
Hier ist der Codeschnipsel

Code: Alles auswählen

#==============================================================================
# Hauptfenster der Anwendung
#==============================================================================

# Import Anweisungen ==========================================================
from PySide6.QtWidgets import QMainWindow
from PySide6 import QtSql
from frm_main_ui import Ui_frm_main
from PySide6.QtCore import Qt, QDate

# Implementierungen ===========================================================
class FrmMain(QMainWindow, Ui_frm_main):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.btn_buchen.clicked.connect(self.eier_buchen) # Btn Eier Buchen
        self.show()

        # Variablen ===========================================================
        self.egg_old = 0
        self.egg_new = 0
        self.egg_max = 4
        self.data_cnt = 0

        # Initialisierungen ===================================================
        self.dateEdit_buch.setDate(QDate.currentDate())
        # Datenbankverbindung herstellen
        self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
        self.db.setDatabaseName("Eierlog.sqlite")
        self.db.open()
        # Daten selektieren
        query2 = QtSql.QSqlQuery()
        sql_str2 = """SELECT strftime('%d.%m.%Y',Datum), Menge
                      FROM tab01 ORDER BY Datum DESC"""
        query2.exec(sql_str2)


        # Hier gibt er dann -1 aus
        print(query2.size())


        self.model = QtSql.QSqlQueryModel()
        self.model.setQuery(query2)


        # Daten in der Tabelle anzeigen
        self.model.setHeaderData(0, Qt.Orientation.Horizontal, "Legedatum")
        self.tableView.setModel(self.model)




Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 17:04
von __blackjack__
@DL3AD: Die -1 und Methoden die man sich auch mal anschauen könnte, werden ja in der Dokumentation auch erwähnt.

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 17:23
von DL3AD

Code: Alles auswählen

        print(query2.isSelect())
        print(query2.isActive())
... liefert beides true

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 18:34
von __blackjack__
Tja, dann bleibt ja nicht mehr viel, aber es bleibt noch etwas das man testen kann.

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 18:48
von DL3AD
Du sprichts in Rätseln - Was sollte man noch testen ?

Re: Anzahl der Datensätze in einer Query ermitteln

Verfasst: Sonntag 21. September 2025, 19:13
von __blackjack__
@DL3AD: In der Dokumentation stehen ja mehrere Gründe wann eine -1 geliefert wird. Eine Sache hast Du noch nicht geprüft.