[英]How to build a list of dicts from a SQLite3 database query in Python?
[英]How to query from sqlite3 database if content in the entry match small requirement
我想从python查询来自sqlite3
db的数据并将其填充在Listbox
但是如果要进行搜索,则必须在提供可将记录插入Listbox
之前提供像Harvard University
这样的全名。
我想查询像记录Harvard University
通过只提供Harvard
那么它将输出的所有records
与Havard
在它里面的内容对我来说,因为如果我不提供全名也不会填充listbox
与任何记录。
欢迎您提出建议以实现这一目标。
import tkinter as tk
import sqlite3
conn = sqlite3.connect("STATS.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS institution(id INTEGER PRIMARY KEY,
name TEXT)")
conn.commit()
conn.close()
def query_record():
data1 = e1_search.get()
conn = sqlite3.connect("STATS.db")
cur = conn.cursor()
cur.execute("SELECT * FROM institution WHERE name=?", (data1,))
row = cur.fetchall()
for n in row:
List.insert(tk.END, n)
print(n)
conn.close()
root = tk.Tk()
root.geometry("300x300")
List = tk.Listbox(root, width=100)
List.pack()
e1_search = tk.StringVar()
e1 = tk.Entry(root, textvariable=e1_search)
e1.pack()
b = tk.Button(text="Search", command=query_record)
b.pack(side=tk.BOTTOM)
root.mainloop()
我认为您可能必须修改查询。 由于"SELECT * FROM institution WHERE name=?", (data1,)
将与您可以尝试使用的输入字符串完全匹配,
"SELECT * FROM institution WHERE name like ?", (data1+'%',)
。
希望这有效!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.