SQLite ile ilk kez bir görsel arayüzlü program yapıyorum. Bu programı yaparken internetten sağdan soldan kod yardımı alıp yaptım ve bu ortaya çıktı. Aynı zamanda veri tabanını görüntülemekte istedim o yüzden def show():
fonksiyonunu internetden bakarak yaptım ancak bir problem vardı, liste -liste dediğime bakmayın entry ile yapıldı- silinmiyordu nasıl silerim bilmiyorum döngüde, amacım yenileme butonu koyup butonla önce silip sonra yazdırmaktı. Silemezsem nasıl kendisini sürekli yenileyen bir hale getiririm bilmiyorum yardım lazım.
Not: Özür dilerim biraz karışık üzerinde çok oynama yaptım sildim fln
import tkinter
from tkinter import *
def mk():
cur.execute("CREATE TABLE IF NOT EXISTS inventory (urun TEXT,marka TEXT,kod INT)")
def add():
urun = entry1.get()
marka = entry2.get()
kod = entry3.get()
if urun == "":
text = "Lütfen tüm alanları doldurunuz!"
elif marka == "":
text = "Lütfen tüm alanları doldurunuz!"
elif kod == "":
text = "Lütfen tüm alanları doldurunuz!"
else:
text="Veri Eklendi"
cur.execute("INSERT INTO inventory VALUES (?,?,?)", (urun, marka, kod))
con.commit()
entry3.delete(0, END)
entry2.delete(0, END)
entry1.delete(0, END)
l4.config(text=text)
root.after(2000, lambda: l4.config(text=''))
def add2():
kod = entry9.get()
if kod == "":
text = "Lütfen tüm alanları doldurunuz!"
else:
text = "Veri Kaldırıldı"
query = "DELETE from inventory where kod = ?"
cur.execute(query, (kod,))
con.commit()
entry9.delete(0, END)
l4.config(text=text)
root.after(2000, lambda: l4.config(text=''))
def onumber(char):
return char.isdigit()
root = Tk()
root.geometry("1500x480")
root.title("Database Demo")
root.resizable(width=False, height=False)
con = sqlite3.connect("database.db")
cur = con.cursor()
validation = root.register(onumber)
def show():
r_set = cur.execute('''SELECT * from inventory LIMIT 0,1000''');
i = 0
for inventory in r_set:
for j in range(len(inventory)):
global e1e
e1e = Entry(root, width=10)
e1e.place(x=30, y=450)
e1e.grid(row=i, column=j)
e1e.insert(END, inventory[j])
i = i + 1
l4 = Label(root)
l4.place(x=430, y=200)
l4["font"] = ("Futura", 20)
label4 = Label(text = "Kaldır", font= ("Futura", 20))
label4.place(x = 1050, y = 4)
label7 = Label(text = "Ürün kodu giriniz:")
label7.place(x = 880, y = 80)
label7.config(padx=0)
entry9 = Entry(root, highlightthickness = 0, bd = 0, validate="key", validatecommand=(validation, '%S'))
entry9.place(x = 1000, y = 80, width=200, height=25)
button2 = Button(root, text = "Kaldır", command = add2, highlightthickness = 0, bd = 0, bg = "#828282", fg="white")
button2.place(x = 1080, y = 240)
label = Label(text = "Ekle", font= ("Futura", 20))
label.place(x = 600, y = 4)
label1 = Label(text = "Ürün adı giriniz:")
label1.place(x = 430, y = 40)
label1.config(padx=0)
label2 = Label(text = "Marka adı giriniz:")
label2.place(x = 430, y = 80)
label2.config(padx=0)
label3 = Label(text = "Ürün kodu giriniz:")
label3.place(x = 440, y = 120)
label3.config(padx=0)
entry1 = Entry(root, highlightthickness = 0, bd = 0)
entry1.place(x = 550, y = 40, width=200, height=25)
entry2 = Entry(root, highlightthickness = 0, bd = 0)
entry2.place(x = 550, y = 80, width=200, height=25)
entry3 = Entry(root, highlightthickness = 0, bd = 0, validate="key", validatecommand=(validation, '%S'))
entry3.place(x = 550, y = 120, width=200, height=25)
button1 = Button(root, text = "Ekle", command = add, highlightthickness = 0, bd = 0, bg = "#828282", fg="white")
button1.place(x = 640, y = 240)
mk()
root.mainloop()```