不知为什么我总是得到一个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 + "'")
下表所示
senNumStr
是我要将列更新为的数字。nameGroup
是要添加tp的行的名称`````
最佳答案
我不确定您只执行一条语句时是否需要在这里使用executemany
。你可以简单地使用:
cur.execute("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormName='" + nameGroup + "'")
不过,最好使用参数化查询,而不是格式化字符串,以避免SQL注入漏洞:
cur.execute("UPDATE SEN_Table SET SenNumber = ? WHERE FormName = ?", (senNumStr, nameGroup))