Я использую python и SQL для создания базы данных для учетных записей клиентов. Я пытаюсь дать возможность обновить информацию о клиенте. Я сделал то, что, по моему мнению, обновил бы таблицу, но когда я распечатаю содержимое, ничего не изменилось. Пожалуйста, скажите мне, где я ошибаюсь?Операция обновления Python-SQL; нет ошибок, но на самом деле не обновляет мою базу данных
def update_Customer(self):
# create sqlite connection
conn = sqlite3.connect("lanyard.db", timeout=5)
c = conn.cursor()
# if texfield is empty
if self.TextField1.get() !="":
if self.TextField2.get() != "":
nameChange1 = self.TextField2.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE customer
SET first_name = 'nameChange1'
WHERE customer_id = 'CusNo'""")
conn.commit()
if self.TextField3.get() != "":
nameChange2 = self.TextField3.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE CUSTOMER
SET second_name = 'nameChange2'
WHERE customer_id = 'CusNo'""")
conn.commit()
if self.TextField4.get() == "":
nameChange3 = self.TextField4.get()
CusNo = self.TextField1.get()
c.execute("""
UPDATE CUSTOMER
SET address = 'nameChange3'
WHERE customer_id = 'CusNo'""")
conn.commit()
conn.commit()
c.close()
# clear input
self.TextField1.delete(0, END)
self.TextField2.delete(0, END)
self.TextField3.delete(0, END)
self.TextField4.delete(0, END)
nameChange1 должен быть параметр тоже. – Matthias
@ Matthias, да, исправлено, прежде чем читать сообщение;) dank !! – danihp
Я уже пытался добавить эти параметры, но получил ошибку, попробовал снова, как вы это сделали, и получил ту же ошибку. Исключение в обратном вызове Tkinter Traceback (последний последний вызов): Файл «C: \ Python32 \ lib \ tkinter \ __ init__.py», строка 1399, в __call__ return self.func (* args) Файл «J: \ Университет \ U08007 \ D \ SQL_Lanyard_GUI1.py ", строка 343, в update_Customer WHERE customer_id = 'CusNo'" "", (nameChange1, CusNo,)) sqlite3.ProgrammingError: Неправильное количество привязок. , и есть 2 поставленных. – user2258597