(Der Code funktioniert gerade Problemlos.)
Code: Alles auswählen
from tkinter import *
import sqlite3
root = Tk()
root.title('Projektarbeit')
root.geometry("750x400")
conn = sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS Tasks (aufgabe TEXT , beschreibung TEXT , kategorie TEXT)")
def delete():
conn = sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
cur.execute("DELETE from Tasks WHERE oid= " + loeschen_box.get())
conn.commit()
conn.close()
def update():
# database connect
conn = sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
record_id = loeschen_box.get()
cur.execute("""UPDATE Tasks SET
aufgabe = :aufgabe,
beschreibung = :beschreibung,
kategorie = :kategorie
WHERE oid= :oid""",
{
'aufgabe':aufgabe_editor.get(),
'beschreibung' :beschreibung_editor.get(),
'kategorie' :kategorie_editor.get(),
'oid' :record_id
})
conn.commit()
conn.close()
editor.destroy()
#CREATE EDIT
def edit():
global editor
editor = Tk()
editor.title('Projektarbeit (Task Edits)')
editor.geometry("450x200")
#database connect
conn = sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
record_id = loeschen_box.get()
cur.execute("SELECT * FROM Tasks WHERE oid = " + record_id)
records = cur.fetchall()
conn.commit()
conn.close()
#GLOBAL TEXT BOX NAMES
global aufgabe_editor
global beschreibung_editor
global kategorie_editor
# TEXT BOX LABEL
aufgabe_label = Label(editor, text="Aufgabe")
aufgabe_label.grid(row=2, column=0)
beschreibung_label = Label(editor, text="Beschreibung")
beschreibung_label.grid(row=3, column=0)
kategorie_label = Label(editor, text="Kategorie")
kategorie_label.grid(row=4, column=0)
# TEXT BOX
aufgabe_editor = Entry(editor, width=30)
aufgabe_editor.grid(row=2, column=1, padx=20)
beschreibung_editor = Entry(editor, width=30)
beschreibung_editor.grid(row=3, column=1, padx=20)
kategorie_editor = Entry(editor, width=30)
kategorie_editor.grid(row=4, column=1, padx=20)
# loop results
for record in records:
aufgabe_editor.insert(0, record[0])
beschreibung_editor.insert(0, record[1])
kategorie_editor.insert(0, record[2])
# Edit Save
edit_btn = Button(editor, text="Speichern", command=update)
edit_btn.grid(pady=2, ipady=2, ipadx=14, column=1, columnspan=1)
# CREATE SUBMIT FUNC FOR DB
def submit():
conn=sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
#INSERT INTO TABLE
cur.execute("INSERT INTO Tasks VALUES(:aufgabe, :beschreibung, :kategorie)",
{
'aufgabe': aufgabe.get(),
'beschreibung': beschreibung.get(),
'kategorie': kategorie.get()
})
conn.commit()
conn.close()
#clear text boxes
aufgabe.delete(0,END)
beschreibung.delete(0,END)
kategorie.delete(0,END)
#QUERY FUNKTION
def query():
global show
show = Tk()
show.title('Projektarbeit (Task)')
show.geometry("450x200")
conn = sqlite3.connect("Projektarbeit.db")
cur = conn.cursor()
#Query database
cur.execute("SELECT * , oid FROM Tasks")
records = cur.fetchall()
# print(records)
#Loop results
print_records =''
for record in records:
print_records += str(record[0]) +" " + str(record[1]) + " " + str(record[2]) + " " + str(record[3]) + "\n"
query_label = Label(show, text=print_records)
query_label.grid(row=1)
conn.commit()
conn.close()
#TEXT BOX LABEL
aufgabe_label = Label(root, text="Aufgabe")
aufgabe_label.grid(row=2, column=0)
beschreibung_label = Label(root, text="Beschreibung")
beschreibung_label.grid(row=3, column=0)
kategorie_label = Label(root, text="Kategorie")
kategorie_label.grid(row=4, column=0)
#TEXT BOX
aufgabe=Entry(root, width=30)
aufgabe.grid(row=2, column=1, padx=20)
beschreibung=Entry(root, width=30)
beschreibung.grid(row=3, column=1, padx=20)
kategorie = Entry(root, width=30)
kategorie.grid(row=4, column=1, padx=20)
#CREATE SUBMIT BUTTON
submit_btn = Button(root, text="Hinzufügen", command=submit)
submit_btn.grid(pady=8, padx=1, ipady=1, ipadx=11, column=1, columnspan=1)
#QUERY BUTTON
query_btn = Button(root, text="Zeige Tasks", command=query)
query_btn.grid(pady=5, padx=1, ipady=1, ipadx=8,column=1, columnspan=1)
#Delete Tasks
loeschen_box_label = Label(root, text="Auswählen (ID Nummer)")
loeschen_box_label.grid(row=2, column=5, columnspan=1,pady=5)
loeschen_box = Entry(root, width=30)
loeschen_box.grid(row=3, column=5)
delete_btn = Button(root, text="Löschen", command=delete)
delete_btn.grid(row=4, ipadx=20,column=5)
#Edit
edit_btn = Button(root, text="Bearbeiten", command=edit)
edit_btn.grid(row=5, ipadx=14, column=5, columnspan=1)
conn.commit()
conn.close()
root.mainloop()