sqlite3データベースのテーブルのフィールドの値を更新する必要があるという問題があります。 sqlite3.ProgrammingError:指定された数のバインディングが正しくありません。現在のステートメントは2を使用し、0が指定されています
はtakenOut
bookID
1つのレコードnewTakenOutEntry
がUPDATEによってデータベースに入れられますユーザー入力が、あること、それが唯一のを更新するので、そこにある列の名前ですクエリbookIDEntry
はユーザー入力ですので、UPDATEクエリは、どのレコードがtakenOutフィールドを更新するのかを知っています
私は現在持っているコードは次のとおりです。
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()
属性の後にカンマを持っていますだからすでにタプルの権利があるはずですか?私がこのエラーを持っている人からオンラインで見たことは、新しい値がタプルでないことです。しかし、私はまだエラーメッセージが表示されているので、他に何が問題になるかはわかりません。
あなたはexecute' 'の引数としてバインディングを提供する必要があります。 – Goyo