首页 文章

sqlite3.ProgrammingError:提供的绑定数量不正确 . 当前语句使用2,并且提供了0

提问于
浏览
0

我有一个问题,我需要更新我的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() 属性后面有一个逗号,所以它应该已经是一个元组了吗?我在网上看到的也有这个错误的人是他们没有知道还有什么可能是问题 .

1 回答

  • 1

    你需要这样做:

    updatetakenOut = c.execute("UPDATE bookList SET takenOut = ? WHERE bookID = ?", (newTakenOutEntry.get(), bookIDEntry.get()))
    

相关问题