Python SQLite: Update Statement TypeError: функция принимает ровно 2 аргумента (1 дан) - PullRequest
0 голосов
/ 27 апреля 2018

Почему-то я продолжаю получать

findSenGroup = cur.executemany("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormName='" + nameGroup + "'")

TypeError: function takes exactly 2 arguments (1 given) error

с этим оператором обновления:

findSenGroup = cur.executemany("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormGroup='" + nameGroup + "'")

Таблица показана ниже

enter image description here

senNumStr - это число, до которого я хочу обновить столбец.

nameGroup - это имя строки, в которой я хочу senNumStr добавлено tp

`` `` `

1 Ответ

0 голосов
/ 27 апреля 2018

Я не уверен, что вам нужно использовать executemany здесь, когда вы выполняете только один оператор. Вы можете использовать просто:

cur.execute("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormName='" + nameGroup + "'")

Было бы лучше использовать параметризованный запрос, а не отформатированную строку, чтобы избежать уязвимостей внедрения SQL:

cur.execute("UPDATE SEN_Table SET SenNumber = ? WHERE FormName = ?", (senNumStr, nameGroup))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...