【发布时间】:2018-04-02 15:14:19
【问题描述】:
如何使用 textBox Entry 搜索数据库?
如果我给出一个全名,我有一些代码可以显示正确的结果,但我想在我输入一个字母时显示包含该字母的所有结果。
from tkinter import *
import sqlite3
def printRecords():
connection = sqlite3.connect('baza.db')
cur = connection.cursor()
cur.execute("select * from Zaposleni where Ime LIKE ?", (z.get(),))
connection.commit()
variablename = cur.fetchall()
print (variablename)
root = Tk()
root.title ( "Search a Book")
z= StringVar()
#Label
Label(root, text = "Enter the name of the book : ").grid()
#Textbox
bookSearchEntry = Entry(root, textvariable = z)
bookSearchEntry.grid(row = 0, column = 1)
#Button
bookSearchButton = Button(root, text = "Search", command = printRecords)
bookSearchButton.grid(row = 0, column = 2)
root.mainloop()
【问题讨论】:
-
我建议你不要做你在上面的代码中所做的事情,因为你正在向你的代码引入潜在的安全风险(去阅读 SQL注射)。
-
@Floaterz:安全风险是什么?您不能使用此代码进行 sql 注入。他们在这里正确使用 sqlite。
-
你是问用户每次输入字符时如何查询?
-
@Bryan Oakley 是的,或者加载数据以列出并尽可能使用过滤器。如果你有的话,也可以是 PqT5 的例子吗?谢谢
标签: python sql database python-3.x sqlite