python - 在 python 中显示 sqlite3 数据
问题描述
我正在尝试构建我的 sqlite3 数据库的小窗口查看器,但不幸的是我找不到方法。到目前为止,我已经达到了类似下面的内容,但显示的是表格,而是显示了代表 sqlite3 表格每一行的整套字典。
from tkinter import *
import sqlite3
main=Tk()
main.geometry('400x400')
main.title('Get data')
def show_data():
with sqlite3.connect('Data.db') as db:
c = db.cursor()
c.execute("SELECT * FROM data")
obj = c.fetchall()
Label(main,text = obj).pack()
but = Button(main, text = 'Show',font = ('',10),command=show_data)
but.pack()
main.mainloop()
解决方案
有点破解它的方式
def show(self):
conn = sqlite3.connect('Data.db')
c = conn.cursor()
c.execute("SELECT * From data")
records = c.fetchall()
print_records = ''
for record in records:
print_records += str(record[0])+" "+"\n"+str(record[1])+" "+str(record[2])+" "+str(record[3])+" "+str(record[4])+" "+str(record[5])+" "+str(record[6])+" "+str(record[7])+" "+str(record[8])+" "+str(record[9])+" "+str(record[10])+" "+str(record[11])+" "+str(record[12])+" "+str(record[13])+" "+str(record[14])+" "+str(record[15])+" "+str(record[16])+" "+str(record[17])+" "+str(record[18])+" "+str(record[19])+" "+str(record[20])+" "+str(record[21])+" "+str(record[22])+" "+str(record[23])
query_label = Label(self.main, text = print_records)
query_label.grid(sticky = E, row=5, column=0, pady = 45, columnspan=23)
conn.commit()
conn.close()
但感谢提示。
推荐阅读
- android - 安卓。如何在TextView中的一段文本中设置事件点击
- laravel - 使用不可为空字段的默认值进行更新
- python - 使用 python 构建没有 SKlearn 的多类逻辑回归分类器
- android - 使用 getSupportActionBar() 的简单操作栏 - 添加主页 < 和设置图标
- javascript - Ng Bootstrap 轮播全屏
- javascript - 在我的表上出现数据重复问题
- selenium - Selenium 网格:org.openqa.selenium.WebDriverException:会话 [null] 不可用且不在最后 1000 个终止会话中
- applescript - Restore My"com.apple.iChat"file
- c - 将字符串从 main 复制到结构 c
- javascript - 视频自动播放不适用于 appendChild