@ProgramistNoob
Начинающий программист

Почему выдаёт ошибку с кол-вом аргументов?

Есть вот такая ф-ия (скрипт прилагаю) и БД, созданная в программе (скрипт ниже). Выдает следующую ошибку: function takes at most 2 arguments(6 given). Почему?
def id_base(cursor):
  cursor.execute("""CREATE TABLE IF NOT EXISTS ids
                      (
                       id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                       surname TEXT,
                       name TEXT,
                       patronymic TEXT,
                       class INTEGER
                       books TEXT
                       )
                   """)
  '''return cursor?'''
def registration(cursor):
    SURNAME = input('Введи фамилию (Например, Иванов): ')
    NAME = input('Как тебя зовут?(Например, Иван): ')
    PATRONYMIC = input('Введи отчество (Например, Иванович: ')
    CLASS = input('В каком классе ты учишься? (Например, 6А) : ')
    cursor.execute('INSERT INTO ids (name, surname, patronymic, class) VALUES (?, ?, ?, ?)', NAME, SURNAME, PATRONYMIC, CLASS)
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
shabelski89
@shabelski89
engineer
Потому что Sqlite принимает кортеж:
cursor.execute('INSERT INTO ids (name, surname, patronymic, class) VALUES (?, ?, ?, ?);', (NAME, SURNAME, PATRONYMIC, CLASS))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы