TypeError: AdminManage.find_row() missing 1 required positional argument: 'search_info'
时间: 2023-10-22 19:05:01 浏览: 144
TypeError: missing 1 required keyword-only argument-python中的报错问题
5星 · 资源好评率100%
这个错误提示说明在调用`find_row()`函数时缺少了一个必需的参数`search_info`,需要在调用函数时传入这个参数。你可以检查一下调用`find_row()`函数的地方,看看是否忘记传入`search_info`参数。如果确实没有传入,可以修改代码,将搜索信息作为函数的参数传递进去。例如:
```
def find_row(self, search_info):
# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, db='crime', user='qingying', password='123456')
cursor = db.cursor()
# 构造查询语句
sql = "SELECT * FROM criminal WHERE id LIKE '%{0}%' OR name LIKE '%{0}%' OR age LIKE '%{0}%' OR gender LIKE '%{0}%' OR address LIKE '%{0}%' OR crime_type LIKE '%{0}%' OR crime_time LIKE '%{0}%' OR punishment LIKE '%{0}%' OR release_time LIKE '%{0}%'".format(search_info)
# 执行查询语句
try:
cursor.execute(sql)
results = cursor.fetchall()
# 如果查询结果为空,则在GUI界面上弹出提示窗口
if len(results) == 0:
messagebox.showinfo('提示', '未找到相关数据')
else:
# 清空表格
for record in self.tree.get_children():
self.tree.delete(record)
# 显示查询结果
for row in results:
self.tree.insert('', 0, values=row)
except:
messagebox.showinfo('警告!', '查询失败,数据库连接失败!')
# 关闭数据库连接
db.close()
```
在这个版本的函数中,将搜索信息作为一个参数传递进来,并在函数内部使用`search_info`来构造查询语句。这样,在调用函数时就不会出现缺少参数的错误了。
阅读全文