Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
DL3AD
User
Beiträge: 56 Registriert: Montag 31. August 2015, 19:03
Sonntag 21. September 2025, 14:42
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
DL3AD
User
Beiträge: 56 Registriert: Montag 31. August 2015, 19:03
Sonntag 21. September 2025, 15:50
... hatte ich auch schon probiert - gibt dann -1 aus
Die Daten werden aber richtig in einer Tabelle angezeigt.
DL3AD
User
Beiträge: 56 Registriert: Montag 31. August 2015, 19:03
Sonntag 21. September 2025, 16:21
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)
__blackjack__
User
Beiträge: 14160 Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:
Sonntag 21. September 2025, 17:04
@DL3AD: Die -1 und Methoden die man sich auch mal anschauen könnte, werden ja in der Dokumentation auch erwähnt.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
DL3AD
User
Beiträge: 56 Registriert: Montag 31. August 2015, 19:03
__blackjack__
User
Beiträge: 14160 Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:
Sonntag 21. September 2025, 18:34
Tja, dann bleibt ja nicht mehr viel, aber es bleibt noch etwas das man testen kann.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
__blackjack__
User
Beiträge: 14160 Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:
Sonntag 21. September 2025, 19:13
@DL3AD: In der Dokumentation stehen ja mehrere Gründe wann eine -1 geliefert wird. Eine Sache hast Du noch nicht geprüft.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis