SQLite代码无法读取DB Browser中Biceps表问题求助
核对数据库路径
确认Python代码里连接的数据库文件,和DB Browser打开的是同一个。比如代码里用sqlite3.connect('fitness.db'),可以打印绝对路径验证:import os print(os.path.abspath('fitness.db'))把这个路径和DB Browser顶部显示的数据库路径对比,避免存在多个同名文件导致读错库。
检查表名大小写
SQLite在不同系统上对表名大小写的处理不一样:Windows不区分,Linux/macOS严格区分。确保代码里查询的表名(比如FROM Biceps)和DB Browser里的表名完全一致,别出现代码写biceps但实际表是Biceps的情况。验证查询语句有效性
把代码里的查询语句(比如SELECT * FROM Biceps)复制到DB Browser的「执行SQL」面板里运行,看能不能返回数据。如果DB Browser里都查不到,那就是表本身没数据或者语句写错了;如果能查到,再回头看代码里的语句有没有拼写错误。确认数据库修改已保存
如果你刚在DB Browser里创建Biceps表或添加数据,一定要点击DB Browser的「写入更改」按钮保存。另外Python代码里如果有写入操作,必须执行conn.commit(),否则数据不会写到文件里,自然读不到。排查按钮绑定逻辑
检查生成按钮的点击事件是否正确绑定了查询数据的函数。比如用Tkinter的话,要确认写了button.config(command=你的查询函数),而不是只定义了函数但没关联到按钮上。检查数据显示逻辑
就算查询到了数据,也要确认代码里有没有把结果正确显示出来。比如有没有把cursor.fetchall()的结果插入到Listbox、Text这类UI控件里,有没有遗漏更新UI的步骤。
内容的提问来源于stack exchange,提问作者Joseph Wu

