Frage zu INSERT mit PyQt QtSql
Verfasst: Samstag 4. September 2021, 09:08
Guten Morgen. Ich habe eine Frage in Bezug auf ein seltsames Verhalten einer QApplication, welches auftritt, wenn ich ein INSERT-Statement durchführe. Ich erschaffe eine GUI wie folgt:
Es gibt nun in der GUI einen Button:
defaultPushButton.clicked.connect(self.buttonClickedInsert)
defaultPushButton.setDefault(True)
...der verbunden ist mit einer Funktion, vermittels welcher ich Werte in eine postgreSQL-DB schreiben kann. Diese Funktion sieht folgendermaßen aus:
Folgendes Verhalten kann ich mir nicht erklären, weshalb ich nicht weiß, wie ich es beseitigen kann.
Wenn ich n-mal hintereinander verschiedene Zeiten eingebe, kontakt und ort aber jeweils unverändert lasse, werden alle Werte korrekt in die DB geschrieben.
Wenn ich aber 2mal hintereinander ALLE Werte gleich lasse, die Zeit sich also nicht ändert, dann geht die GUI zu und die Werte werden nicht in die DB geschrieben, obwohl dies in der DB mit einem INSERT Statement problemlos möglich sein müsste.
Hat jemand eine Ahnung, was da los sein könnte? Vielen Dank im Voraus für Tipps.
Code: Alles auswählen
import sys
app = QApplication(sys.argv)
gui = GUI()
gui.resize(800, 550)
gui.show()
sys.exit(app.exec_())
defaultPushButton.clicked.connect(self.buttonClickedInsert)
defaultPushButton.setDefault(True)
...der verbunden ist mit einer Funktion, vermittels welcher ich Werte in eine postgreSQL-DB schreiben kann. Diese Funktion sieht folgendermaßen aus:
Code: Alles auswählen
def buttonClickedInsert(self):
...
query = QSqlQuery()
query.prepare("INSERT INTO termine (zt, kontakt, ort) "
"VALUES (?, ?, ?)")
query.addBindValue(self.zeit)
query.addBindValue(kt)
query.addBindValue(ot)
query.exec()
d.close()
Wenn ich n-mal hintereinander verschiedene Zeiten eingebe, kontakt und ort aber jeweils unverändert lasse, werden alle Werte korrekt in die DB geschrieben.
Wenn ich aber 2mal hintereinander ALLE Werte gleich lasse, die Zeit sich also nicht ändert, dann geht die GUI zu und die Werte werden nicht in die DB geschrieben, obwohl dies in der DB mit einem INSERT Statement problemlos möglich sein müsste.
Hat jemand eine Ahnung, was da los sein könnte? Vielen Dank im Voraus für Tipps.