我有一个问题,我需要在sqlite3数据库中更新表中字段的值。
takenOut
是列
bookID
因此它只更新了一条记录
newTakenOutEntry
是用户输入,将通过UPDATE查询放入数据库
bookIDEntry
是用户输入,因此UPDATE查询知道更新takeOut字段的记录
我目前的代码是:
updatetakenOut = c.execute("UPDATE bookList SET takenOut = ? WHERE bookID = ?"), (newTakenOutEntry.get(),) , (bookIDEntry.get(),)
conn.commit()
我得到的错误信息是:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 2, and there are 0 supplied.
我已经在新值的.get()
属性后面有一个逗号,所以它应该已经是一个元组了吗?我在网上看到的那些也有这个错误的人是因为他们没有元组中的新值。但是,我仍然收到错误消息,所以我不知道还有什么问题。
答案 0 :(得分:1)
你需要这样做:
updatetakenOut = c.execute("UPDATE bookList SET takenOut = ? WHERE bookID = ?", (newTakenOutEntry.get(), bookIDEntry.get()))