[英]Can't display sqlite3 data on python
我想在python Tkinter组合框上显示来自sqlite3的特定列,但是显示的是<sqlite3.Cursor object at 0x0000000003E73110>
,我不知道该怎么办? 我不久前才开始编码。
我写以下内容:
from tkinter import *
from tkinter import ttk
import sqlite3
conn = sqlite3.connect('Library.db')
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS tablename (Name TEXT UNIQUE NOT NULL)")
combolist = c.execute("SELECT Name FROM tablename")
root = Tk()
ttk.Combobox(root, value = (combolist))
在游标对象上调用execute
不会返回您的值。 相反,您可以遍历游标,或调用c.fetchall()
将所有结果重新组合在一起。
sqlite3还支持一种简写形式,您可以调用conn.execute(...)
并直接获取结果,而无需使用任何显式游标,但这需要您在连接而不是游标上调用execute
。
另外,您可能想从每行中解压缩名称字段。
我认为这段代码应该可以工作(尽管我还没有测试过):
conn = sqlite3.connect('Library.db')
with conn:
conn.execute("CREATE TABLE IF NOT EXISTS tablename (Name TEXT UNIQUE NOT NULL)")
...这里假设有更多实际插入数据的代码...
with conn:
combolist = [row["name"] for row in conn.execute("SELECT Name FROM tablename"))]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.