Я пытаюсь создать функцию, которая сохранит изменения, которые я внес в значения в моей базе данных, используя SQLite в приложении, которое я сделал с TkInter
. Существующие значения вставляются в поле ввода, которое пользователь может затем использовать для внесения изменений. Я хочу, чтобы они затем могли нажать кнопку с командой «save_changes» и обновить значения в базе данных. Это мой код для команды Save_Changes
def Save_Changes():
conn = sqlite3.connect('Database')
C = conn.cursor()
C.execute("""UPDATE Database SET
Buinsess_Name = :Buisness_Name,
Customer_Name = :Customer_Name,
Address_1 = :Address_1,
City = :City,
State = :State,
Zip_Code = :Zip_code,
Phone_Number = :Phone_Number
WHERE oid = :oid""",
{
'Buisness_Name' : Buisness_Name2.get(),
'Customer_Name' : Contact_Name2.get(),
'Address_1' : Address_1B.get(),
'City' : City2.get(),
'State' : State2.get(),
'Zip_Code' : Zip_Code2.get(),
'Phone_Number' : Phone_Number2.get(),
'oid' : Update_Box.get()
})
conn.commit()
conn.close()
Это отлично работает в видеоуроке, которое я видел, но для меня я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:/Users/user/PycharmProjects/Program1/PART 1.py", line 161, in Save_Changes
C.execute("""UPDATE Database SET
sqlite3.ProgrammingError: You did not supply a value for binding 6.
Я не могу найти, что не так с привязкой 6 ?? Это исходная таблица, которую я создал
C.execute ("""CREATE TABLE Database (
Buinsess_Name text,
Customer_Name text,
Address_1 text,
City text,
State text,
Zip_Code integer,
Phone_Number integer
)""")
Также я уже сделал имена текстовых полей глобальными переменными, потому что они были созданы в другом месте программы. Спасибо за любую помощь.