python - 将 tkinter 输入与 WHERE 语句 SQLite 连接

标签 python tkinter sqlite

我正在做一个计算机科学项目,我必须使用 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)

这只是错误开始的部分。这是我得到的错误:

> 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/

相关文章:

python Pyramid ,登录时在根 url 呈现用户仪表板

python - 光标: AttributeError: 'NoneType' object has no attribute 'fetchall'

python - 如何预测 scikit-learn 中的时间序列?

python - 对 MixIn 类进行单元测试,该类正在其方法之一中访问另一个类方法

events - 虚拟事件多重绑定(bind)未按预期工作

python-3.x - 在 tkinter 和 python 中嵌套网格和框架

Python图形库: How to set the x and y coordinates of the window?

database - SQLite3 的动态类型

java - sqlite 未在 JDBC 驱动程序中实现

python - 在 SQLAlchemy 中定义表时,如何将函数(依赖于其他列的表达式)定义为列的默认值?