Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
DL3AD
User
Beiträge: 68 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: 68 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: 68 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: 14270 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.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
DL3AD
User
Beiträge: 68 Registriert: Montag 31. August 2015, 19:03
__blackjack__
User
Beiträge: 14270 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.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
__blackjack__
User
Beiträge: 14270 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.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds