TableWidget aktualisiert Daten aus Datenbank nicht
Verfasst: Montag 6. Juni 2022, 20:06
Hi,
ich habe eine einfache Datenbank und ein TableWidget das dessen Daten anzeigt. Wenn ich Daten per SQL Insert reinschreibe und mir diese über einen weiteren Button anzeige lasse
funktioniert es wunderbar. Wenn ich Daten aber lösche und dann wieder auf den Anzeige Button klicke wird die Änderung nicht angezeigt. Erst wenn ich das Programm schliesse und neu starte
sehe ich das die entsprechende Zeile gelöscht wurde. Woran kann das liegen? fehlt hier ein Signal? Hier mein Code:
Für Hilfe bin ich sehr dankbar.
Gruß Mars82
ich habe eine einfache Datenbank und ein TableWidget das dessen Daten anzeigt. Wenn ich Daten per SQL Insert reinschreibe und mir diese über einen weiteren Button anzeige lasse
funktioniert es wunderbar. Wenn ich Daten aber lösche und dann wieder auf den Anzeige Button klicke wird die Änderung nicht angezeigt. Erst wenn ich das Programm schliesse und neu starte
sehe ich das die entsprechende Zeile gelöscht wurde. Woran kann das liegen? fehlt hier ein Signal? Hier mein Code:
Code: Alles auswählen
class Frm_main(QMainWindow, Ui_txt_notizen):
def __init__(self):
super().__init__()
self.setupUi(self)
self.table()
self.bt_speichern.clicked.connect(self.datenschreiben)
self.load()
self.bt_anzeigen.clicked.connect(self.load)
self.bt_loeschen.clicked.connect(self.delete)
def datenschreiben(self):
n=self.txt_nr.text()
s=self.txt_link.text()
no=self.txt_notizen_2.text()
connection = sqlite3.connect("transport.db")
cursor = connection.cursor()
sql = ("INSERT INTO ideen(nr, link, notizen) VALUES (?, ?, ?)")
cursor.execute(sql, (n, s, no))
connection.commit()
connection.close()
def load(self):
connection = sqlite3.connect("transport.db")
cursor = connection.cursor()
sql = ("SELECT nr, link, notizen FROM ideen")
self.txt_uebersicht.setRowCount(100)
tableindex = 0
for row in cursor.execute(sql):
self.txt_uebersicht.setItem(tableindex, 0, QtWidgets.QTableWidgetItem(row[0]))
self.txt_uebersicht.setItem(tableindex, 1, QtWidgets.QTableWidgetItem(row[1]))
self.txt_uebersicht.setItem(tableindex, 2, QtWidgets.QTableWidgetItem(row[2]))
tableindex+=1
connection.commit()
connection.close()
def delete(self):
data = self.txt_loeschen.text()
connection = sqlite3.connect("transport.db")
cursor = connection.cursor()
sql = ("DELETE FROM ideen WHERE nr = ?")
cursor.execute(sql, (data))
connection.commit()
connection.close()
Gruß Mars82