You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sqlite3.ProgrammingError绑定数量不符 食堂管理应用删除按钮报错如何解决

报错原因
  • sqlite3的execute()方法要求SQL占位符对应的参数必须以序列(元组/列表)形式传入,哪怕只有1个参数也需要封装。你直接传递reocordid.get()的返回值,没有封装为序列,触发了参数数量不匹配的报错。注意单元素元组必须加尾部逗号,否则不会被识别为元组类型。
  • 你的代码存在语法逻辑错误:execute()调用末尾多写了逗号,导致下一行的清空操作被错误识别为execute()的参数,进一步打乱了参数传递逻辑。
  • 额外问题:如果你的reocordid是Tkinter输入框组件,用get(0, END)无法实现清空效果,需要调用delete(0, END)方法。
修复方案

修改后的代码如下:

# 参数封装为单元素元组,尾部必须加逗号
c.execute("DELETE from addresses WHERE oid = ?", (reocordid.get(),))
# 单独执行清空输入框逻辑,使用正确的delete方法
reocordid.delete(0, END)

内容的提问来源于stack exchange,提问作者Mohab Taher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:36:03