You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过TextBox输入框实现数据库模糊查询?

实现模糊查询的修改方案

嘿,这问题很好解决!你当前的SQL查询是精确匹配输入内容,所以只有输入全名时才会返回结果。要实现输入单个字符就显示所有包含该字符的记录,只需要给你的LIKE条件加上通配符就行啦。

关键修改点

SQL里的%是通配符,代表任意长度的字符(包括0个)。你需要把原来的查询参数,从单纯的输入内容改成%输入内容%,这样就能匹配所有包含该内容的记录了。

修改后的完整代码

from tkinter import *
import sqlite3

def printRecords():
    connection = sqlite3.connect('baza.db')
    cur = connection.cursor()
    # 给输入内容前后加上%通配符,实现模糊匹配
    search_term = '%' + z.get() + '%'
    cur.execute("select * from Zaposleni where Ime LIKE ?", (search_term,))
    # 查询操作不需要commit,这里可以去掉
    variablename = cur.fetchall()
    print(variablename)
    # 记得关闭连接,避免资源占用
    connection.close()

root = Tk()
root.title("Search Employees")
# 补全你没写完的输入框和按钮代码,让程序能正常运行
z = Entry(root)
z.pack(pady=10)
search_btn = Button(root, text="Search", command=printRecords)
search_btn.pack(pady=5)

root.mainloop()

额外小优化

  • 去掉了不必要的connection.commit(),因为查询操作不需要提交事务
  • 添加了connection.close(),避免数据库连接一直占用资源
  • 补全了输入框和按钮的代码,让整个程序可以直接运行测试

内容的提问来源于stack exchange,提问作者Maximus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:34:46