QtSql.QSqlRelationalTableModel
Verfasst: Dienstag 28. Juni 2022, 09:34
Hallo liebes Community,
ich bin ein blutiger Anfänger und deshalb hoffe ich, dass mir jemand helfen kann.
Folgendes: Ich möchte aus einer Datenbank alle daten aus einer spalte zurück bekommen bzw. auslesen, damit ich überprüfen kann, ob zum Beispiel in der Spalte Email eine bestimmte Email vorhanden ist.
Hier mal der Code:
from operator import index
from PySide6.QtWidgets import QApplication, QMainWindow
from userpasswort.xy import Ui_MainWindow
from userpasswort.bu.oo import Ui_alper
from PySide6 import QtSql
class fm(QMainWindow, Ui_alper):
def __init__(self):
super().__init__()
self.setupUi(self)
self.newaccount.clicked.connect(self.weiter)
def weiter(self):
main.show()
class Main(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.offene = QtSql.QSqlRelationalTableModel()
self.offene.setTable('info')
self.continue_2.clicked.connect(self.datenbank)
#self.leer.setModel(self.offene) # damit die
#self.leer.setItemDelegate(QtSql.QSqlRelationalDelegate())
def datenbank(self):
model = self.offene
query = QtSql.QSqlQuery()
query.exec( "SELECT email FROM info ")
query.first()
print(query.value(0)) #hier bekomme ich die Korrekte Email Adresse ausgegeben
print(query.value(1)) #hier bekomme ich None
model.select()
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('userpasswort.sqlite')
app = QApplication()
main = Main()
mf= fm()
mf.show()
app.exec()
Wenn ich den Code so ausführe bekomme ich zwar die erste Email Adresse korrekt zurück aber die zweite nicht.
Mit WHERE würde ich es zwar hinbekommen aber dann musste ich jedes mal, nach der ID-Nummer nachschauen und den Code anpassen.
Wie kann ich die zweite Spalte ausgeben?
Vielen Dank schonmal!
ich bin ein blutiger Anfänger und deshalb hoffe ich, dass mir jemand helfen kann.
Folgendes: Ich möchte aus einer Datenbank alle daten aus einer spalte zurück bekommen bzw. auslesen, damit ich überprüfen kann, ob zum Beispiel in der Spalte Email eine bestimmte Email vorhanden ist.
Hier mal der Code:
from operator import index
from PySide6.QtWidgets import QApplication, QMainWindow
from userpasswort.xy import Ui_MainWindow
from userpasswort.bu.oo import Ui_alper
from PySide6 import QtSql
class fm(QMainWindow, Ui_alper):
def __init__(self):
super().__init__()
self.setupUi(self)
self.newaccount.clicked.connect(self.weiter)
def weiter(self):
main.show()
class Main(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.offene = QtSql.QSqlRelationalTableModel()
self.offene.setTable('info')
self.continue_2.clicked.connect(self.datenbank)
#self.leer.setModel(self.offene) # damit die
#self.leer.setItemDelegate(QtSql.QSqlRelationalDelegate())
def datenbank(self):
model = self.offene
query = QtSql.QSqlQuery()
query.exec( "SELECT email FROM info ")
query.first()
print(query.value(0)) #hier bekomme ich die Korrekte Email Adresse ausgegeben
print(query.value(1)) #hier bekomme ich None
model.select()
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('userpasswort.sqlite')
app = QApplication()
main = Main()
mf= fm()
mf.show()
app.exec()
Wenn ich den Code so ausführe bekomme ich zwar die erste Email Adresse korrekt zurück aber die zweite nicht.
Mit WHERE würde ich es zwar hinbekommen aber dann musste ich jedes mal, nach der ID-Nummer nachschauen und den Code anpassen.
Wie kann ich die zweite Spalte ausgeben?
Vielen Dank schonmal!