Здравствуйте, я хочу, чтобы пользователь моих GUI i, созданных с помощью Tkinter и python, мог добавлять клиентов и удалять их из таблицы, в которой хранится вся информация о клиентах с использованием SQLite. Функция добавления клиента сохраняет значения в созданной мной таблице, функция запроса отображает их на экране, но функции удаления вызывают у меня проблемы. Я хочу иметь возможность ввести число в поле ввода Delete_Box внутри GUI и удалить строку с йодом, равным числу в поле ввода. Код, о котором я спрашиваю, находится в определении функции удаления. Я очень признателен за любую помощь. Спасибо.
root = Tk()
root.title("THE HAT COMPANY")
root.iconbitmap(r"C:\Users\user\Desktop\logo2.ico")
root.geometry("750x500")
f1 = Frame(root)
f2 = Frame(root)
f3 = Frame(root)
f4 = Frame(root)
Delete_Box = Entry(f2, width = 25)
Delete_Box.grid(row=10, column=3)
def Delete_Customer():
#THIS IS WHERE THE PROBLEM IS
conn = sqlite3.connect('Database')
C = conn.cursor()
C.execute("DELETE FROM Database WHERE oid = " + Delete_Box.get())
#I Want it to delete the customer who's OID matches the number I type in the Delete_Box entry box
Delete_Box.delete(0, END)
#and i want the text inside the entry box to go away and leave a blank box
conn.commit()
conn.close()
Delete_Btn = Button(f2, text = "Delete Customer", width = 25, command= Delete_Customer())
Delete_Btn.grid(row=10,column=2)
raise_frame(f2)
root.mainloop()
Я видел видео, где парень просто написал C.Execute("DELETE FROM Database WHERE oid = " + Delete_Box.get()
, и это сработало для него, но по какой-то причине я получаю эту ошибку
C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe "C:/Users/user/PycharmProjects/Program1/PART 1.py"
Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/Program1/PART 1.py", line 114, in <module>
Delete_Btn = Button(f2, text = "Delete Customer", width = 25, command= Delete_Customer())
File "C:/Users/user/PycharmProjects/Program1/PART 1.py", line 106, in Delete_Customer
C.execute("DELETE FROM Database WHERE oid = " + Delete_Box.get())
sqlite3.OperationalError: incomplete input