我用python制作了一个员工记录程序。在这个程序中,用户可以搜索姓名、职务或教育,例如可以看到所有名字都包含“Jennifer”。员工信息保存在数据库中,因此我正在使用一些 sql 查询。例如,如果您想将新员工添加到数据库,我的程序运行此查询:
def insert(self, name, duty, date, education):
self.cur.execute("INSERT INTO worker VALUES (NULL,?,?,?,?)", (name, duty, date, education))
self.conn.commit()
self.view()
在搜索功能中,姓名、职务、日期或学历作为参数。如果用户单击姓名并写“jennifer”,用户应该会看到姓名或姓氏包含 Jennifer 的员工。但是,我不能那样做。我编写了这个 sql 查询,它可以工作:
SELECT * FROM worker WHERE name LIKE '%Jennifer%'
但我不能用输入名称替换 Jennifer 部分。我试过这样,但它不起作用(不要向我返回任何东西):
def search(self, name="", duty="", date="", education=""):
self.cur.execute("SELECT * FROM worker WHERE name LIKE('%' || name=? || '%')", (name,))
rows = self.cur.fetchall()
return rows
(我在这部分只尝试名称,但我想对所有功能进行搜索查询)