Python / Sqlite3 Veriekleme

Bu konuyu okuyanlar

ahpena

Öğrenci
Katılım
16 Eylül 2020
Mesajlar
1
Reaksiyon puanı
0
Puanları
1
Yaş
36
Arkadaşlar henüz giriş seviyesinde kendimce birşeyler yapmaya çalışıyorum ama veritabanına veri ekleme kısmında bocaladım. Basit bir form üzerinden veritabanına veri girişi yapamıyorum.

Yazdığım kod aşağıdaki gibi;
Python:
import tkinter as tk
from tkinter import ttk
import sqlite3 as sql

window = tk.Tk()
window.title("Deneme")
window.geometry("200x100")

vt=sql.connect('deneme2.sqlite')
im = vt.cursor()
im.execute("CREATE TABLE IF NOT EXISTS deneme2 (degerler)")

def Ekle():
    im.execute("INSERT INTO degerler VALUES (name.get())")
    vt.commit()

vt.close()

name = tk.StringVar()
nameEntered = ttk.Entry(window, width=20, textvariable=name)
nameEntered.grid(column=0, row=1)

button = ttk.Button(window, text = "Ekle", command=Ekle)
button.grid(column=0, row=2)

window.mainloop()

Çıktı tarafında arayüz açılıyor, textbox a birşeyler yazıp ekle dediğimde de aşağıdaki hata çıkıyor;
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\EMOAYVAZ\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Users\EMOAYVAZ\Desktop\PYTHON\deneme.py", line 14, in Ekle
im.execute("INSERT INTO degerler VALUES (name.get())")
sqlite3.ProgrammingError: Cannot operate on a closed database.
[Finished in 2.1s]
 
Üst