![](/img/trans.png)
[英]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.