我正在做一个计算机科学项目,我必须使用 SQLite3 和 GUI 来制作一个数据库程序(所以我使用 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)
这只是错误开始的部分。这是我得到的错误:
block 引用>> sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.
谢谢!!
最佳答案
(koe)
是单个值,(koe,)
是一个元组。方法c.execute
需要一个元组:
c.execute('''UPDATE reserveringen SET deelbetaald = "Yes" WHERE
naamgezelschap = (?)''', (koe,))
关于python - 将 tkinter 输入与 WHERE 语句 SQLite 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44759667/