【问题标题】:How can I search the database using textBox Entry?如何使用 textBox Entry 搜索数据库?
【发布时间】: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


【解决方案1】:

我解决了我的问题。这是一个解决方案:

 cur.execute("select *  from Zaposleni where  Ime LIKE '%" + z.get() + "%'")

【讨论】:

    猜你喜欢
    • 2017-09-23
    • 2022-10-24
    • 2016-09-10
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2019-01-12
    • 2014-04-27
    • 2014-08-23
    相关资源
    最近更新 更多