python-3.x - 如何过滤具有多个搜索条件的数据库搜索结果?
问题描述
我是一名新手程序员,我正在创建一个 tkinter 应用程序来搜索使用 sqlite3 管理的数据库。
我的应用程序中有 4 个输入框,用于输入不同类型的搜索关键字,分别是“姓名”、“身份证号”、“负责人”和“日期”。
我希望该工具将数据库记录返回到满足在输入框中输入的关键字的树视图。如果输入框为空,我希望该工具忽略该输入框。同样,如果所有输入框都为空,则该工具应忽略所有输入框并返回数据库中的所有记录。
下面是我现在创建的搜索功能(当用户在输入关键字后单击搜索按钮时)。
def search():
name = name_entry.get()
idno = id_entry.get()
resp = resp_entry.get()
date = date_entry.get()
global count
conn = sqlite3.connect('test1.db')
c = conn.cursor()
for record in myTree.get_children():
myTree.delete(record)
with conn:
entries = [name, idno, resp, date]
for entry in entries:
if entry == "":
# ??? <-- this is where I am stuck
else:
pass
c.execute("SELECT * FROM MouldEntry WHERE name_entry = ? AND id_entry = ? AND resp_entry = ? AND date_entry = ?", (name, idno, resp, date,))
records = c.fetchall()
for record in records:
myTree.insert(parent="", index="end", iid=count, text="", values=(record[0], record[1], record[2], record[3]))
count += 1
count = 0
conn.commit()
conn.close()
解决方案
推荐阅读
- dialogflow-es - 是否可以在应用程序中为我的操作谷歌助手创建快捷方式?
- c# - 当我需要更新 LinQ C# .Net Framework 中的记录时,如何验证所有字段?
- flutter - Flutter Amplify Auth 检查用户是否登录?
- typescript - 为什么 loash 中的 _.maxBy 没有返回不可定义的类型?
- python - Flask:在请求上下文中插入新属性以进行测试
- node.js - 运行反应应用程序时发现重复的 __self 道具
- sql - SELECT 客户今天交货行 postgres SQL 命令
- javascript - 使用 stringify、regex 和 parse 进行对象操作
- react-native - 选择后显示的值在 react-native-picker-select 中没有变化
- python - 选择由元素列表组成的列的最后一个元素 pandas