用python查询MySQL表联系人,查询结果不存在,result_label.config(text="联系人不存在,请重新输入!"),报错UnboundLocalError: cannot access local variable 'result_label' where it is not associated with a value
时间: 2024-03-14 19:47:39 浏览: 142
查询联系人
这个错误提示是因为在你的代码中,`result_label` 这个变量没有被赋值,但是你在对它进行操作,导致程序无法识别它的类型。你需要在代码中为 `result_label` 这个变量赋值,如下所示:
```
# 导入相关库
import mysql.connector
from tkinter import *
# 连接数据库
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标
cursor = db.cursor()
# 查询联系人
sql = "SELECT * FROM contacts WHERE name = 'your_contact_name'"
cursor.execute(sql)
result = cursor.fetchone()
# 关闭游标和数据库
cursor.close()
db.close()
# 创建GUI窗口
root = Tk()
# 创建标签
result_label = Label(root, text="")
# 判断查询结果
if result:
result_label.config(text="联系人存在!")
else:
result_label.config(text="联系人不存在,请重新输入!")
# 显示标签
result_label.pack()
# 运行GUI窗口
root.mainloop()
```
在以上代码中,我们为 `result_label` 这个变量创建了一个 `Label` 标签,并在代码中为它赋值。这样就可以避免 `UnboundLocalError` 这个错误提示了。
阅读全文