sqlite3.InterfaceError: Ошибка привязки параметра 2 - возможно, неподдерживаемый тип. Книжный магазин проекта - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь создать приложение для книжного магазина с использованием библиотек Tkinter и SQLite3, следуя инструкциям из мега-курса Python: создание 10 реальных приложений Udemy, и я получил эту ошибку при попытке обновить данные из база данных

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "C:\Users\User\PycharmProjects\Projects\MegaCourse_BookStore\frontend.py", line 41, in update_command
    backend.update(selected_tuple[0], title_text.get(), author_text.get(), year_text.get, isbn_text.get())
  File "C:\Users\User\PycharmProjects\Projects\MegaCourse_BookStore\backend.py", line 50, in update
    cursor.execute("UPDATE book SET title=?, author=?, year=?, isbn=? WHERE id=?", (title, author, year, isbn, id_no))
sqlite3.InterfaceError: Error binding parameter 2 - probably unsupported type. 

Вот функция обновления моего бэкэнда:

def update(id_no, title, author, year, isbn):
    conn = sqlite3.connect("books.db")
    cursor = conn.cursor()
    cursor.execute("UPDATE book SET title=?, author=?, year=?, isbn=? WHERE id=?", (title, author, year, isbn, id_no))
    conn.commit()
    conn.close()

Код моего интерфейса:

def update_command():
    backend.update(selected_tuple[0], title_text.get(), author_text.get(), year_text.get, isbn_text.get())
    view_command()

b4 = Button(window, text="Update", width=12, command=update_command)
b4.grid(row=5, column=3)

Окно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...