出于某种原因,我一直在
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
是我想要senNumStr
添加的行的名称
`````
答案 0 :(得分:4)
当您只执行单个语句时,我不确定您是否需要在此使用executemany
。你可以简单地使用:
cur.execute("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormName='" + nameGroup + "'")
最好使用参数化查询而不是格式化字符串,以避免SQL注入漏洞:
cur.execute("UPDATE SEN_Table SET SenNumber = ? WHERE FormName = ?", (senNumStr, nameGroup))