sqlite3 mit Treeview
Verfasst: Mittwoch 10. März 2021, 13:59
Hallo zusammen,
ich habe eine sqlite Datenbank mit 2 Tabellen "artikel" und "information", die Tabelle artikel hat einen Fremdschlüssel "LieferantenID" zum Primärschlüssel in der Tabelle information "LieferantenID".
Die inhalte der Tabelle artikel wird in einem Treeview angezeigt, ich möchte nun per mouseclick auf ein row den dazugehörigen schlüssel von der tabelle information angezeigt bekommen.
Im Code unten seht ihr meinen verzweifelten versuch
Das anzeigen funktioniert, allerdings wird immer die Falsche verbindung angezeigt also nicht der exakte query in der Tabelle Information zum Fremdschlüssel Tabelle artikel.
Ich habe hier versucht durch klick in ein row die spalte 7 (Spalte 7= Fremdschlüßel Tabelle artikel) in eine Variable zu speichern und durch diese Variable aus der Tabelle information den Query anzuzeigen.
Ich bin noch ein neuling in Python und weiß nicht mehr weiter, wäre über eure unterstüzung sehr dankbar.
Falls ihr mehr informationen zu meiner beschreibung braucht, einfach fragen.
Danke und Grüße
ich habe eine sqlite Datenbank mit 2 Tabellen "artikel" und "information", die Tabelle artikel hat einen Fremdschlüssel "LieferantenID" zum Primärschlüssel in der Tabelle information "LieferantenID".
Die inhalte der Tabelle artikel wird in einem Treeview angezeigt, ich möchte nun per mouseclick auf ein row den dazugehörigen schlüssel von der tabelle information angezeigt bekommen.
Im Code unten seht ihr meinen verzweifelten versuch
Das anzeigen funktioniert, allerdings wird immer die Falsche verbindung angezeigt also nicht der exakte query in der Tabelle Information zum Fremdschlüssel Tabelle artikel.
Ich habe hier versucht durch klick in ein row die spalte 7 (Spalte 7= Fremdschlüßel Tabelle artikel) in eine Variable zu speichern und durch diese Variable aus der Tabelle information den Query anzuzeigen.
Ich bin noch ein neuling in Python und weiß nicht mehr weiter, wäre über eure unterstüzung sehr dankbar.
Code: Alles auswählen
def info(event):
selection = trv.item(trv.selection())
selected_tuple=selection["values"][7]
cursor.execute("SELECT Firma, Kontaktperson1, Telefonnummer1, Kontaktperson2, Telefonnummer2, Straße, PLZ, Ort, EMail, WEB FROM information INNER JOIN artikel ON information.LieferantenID = artikel.LieferantenID ")
mydb.execute("PRAGMA foreign_keys = 1")
mydb.commit()
info_l = cursor.fetchall()[selected_tuple]
print(info_l)
print(selected_tuple)
#Loop thru results
print_records = ""
for infos in info_l:
print_records = str(info_l[0]) + "\n\n" + str(info_l[1]) + "\n\n" + str(info_l[2]) + "\n\n" + str(info_l[3]) + "\n\n" + str(info_l[4]) + "\n\n" + str(info_l[5]) + "\n\n" + str(info_l[6]) + "\n\n" + str(info_l[7]) + "\n\n" + str(info_l[8]) + "\n\n" + str(info_l[9])
query_label_data = Label(wrapper6, text = print_records, font = 10, anchor="e", fg="red")
query_label_data.place(x = 100, y = 50, width = 230)
query_label = Label(wrapper6, text = "Lieferant:", font=10)
query_label.place(x = 10, y = 50)
query_label1 = Label(wrapper6, text = "Kontakt1:", font=10)
query_label1.place(x = 10, y = 87)
query_label2 = Label(wrapper6, text = "Telefonnummer1:", font=10)
query_label2.place(x = 10, y = 122)
query_label3 = Label(wrapper6, text = "Kontakt2:", font=10)
query_label3.place(x = 10, y = 157)
query_label3 = Label(wrapper6, text = "Telefonnummer2:", font=10)
query_label3.place(x = 10, y = 194)
query_label3 = Label(wrapper6, text = "Straße:", font=10)
query_label3.place(x = 10, y = 231)
query_label3 = Label(wrapper6, text = "PLZ:", font=10)
query_label3.place(x = 10, y = 269)
query_label3 = Label(wrapper6, text = "Ort:", font=10)
query_label3.place(x = 10, y = 307)
query_label3 = Label(wrapper6, text = "EMAIL:", font=10)
query_label3.place(x = 10, y = 339)
query_label3 = Label(wrapper6, text = "Web:", font=10)
query_label3.place(x = 10, y = 374)
mydb.execute("PRAGMA foreign_keys = 0")
return
trv.bind("<ButtonRelease 1>", info)
Danke und Grüße