我正在开发一个计算机科学项目,我必须使用带有GUI的SQLite3创建数据库程序(所以我使用tkinter)
现在我想用WHERE语句更改表中项的值,但这不起作用。这是我的代码(我已经与数据库连接)。
def show():
Name = tk.Label(self, text="Name")
Name.grid(row=2, column=0)
NameA = tk.Entry(self)
NameA.grid(row=2, column=1)
var1 = tk.IntVar()
vijfprA = tk.Checkbutton(self, text="Vijf procent", variable=var1)
vijfprA.grid(row=4, column=1)
def veranderen():
if var1.get() == 1:
koe = NameA.get()
c.execute('''UPDATE reserveringen SET deelbetaald = "Yes" WHERE
naamgezelschap = (?)''', (koe))
conn.commit()
button2 = tk.Button(self, text="Invoegen", command=veranderen)
button2.grid(row=5, column=1)
这只是错误开始的部分。这是我得到的错误:
> sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用1,并且提供了8个。
谢谢!
答案 0 :(得分:1)
(koe)
是单个值,(koe,)
是一个元组。方法c.execute
需要一个元组:
c.execute('''UPDATE reserveringen SET deelbetaald = "Yes" WHERE
naamgezelschap = (?)''', (koe,))