tk.Label(login_frame, text='账号:',bg='white').grid(row=0, column=0,pady=10) tk.Entry(login_frame,bd=2).grid(row=0, column=1,pady=10) tk.Label(login_frame, text='密码:',bg='white').grid(row=1, column=0,pady=10) tk.Entry(login_frame, show='*',bd=2).grid(row=1, column=1,pady=10)优化这段代码,输入框输入得数据与MySQL里表里面得数据进行对比
时间: 2023-06-20 11:06:57 浏览: 42
下面是优化后的代码,可以将输入框输入的数据与 MySQL 数据库中的表进行比对:
```python
import tkinter as tk
import mysql.connector as mysql
# 创建 MySQL 连接
db = mysql.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
# 创建登录窗口
login_window = tk.Tk()
login_window.title('登录')
login_window.geometry('300x200')
login_window.configure(bg='white')
# 创建登录表单
login_frame = tk.Frame(login_window, bg='white')
login_frame.pack(pady=30)
# 创建账号输入框和标签
tk.Label(login_frame, text='账号:', bg='white').grid(row=0, column=0, pady=10)
username_entry = tk.Entry(login_frame, bd=2)
username_entry.grid(row=0, column=1, pady=10)
# 创建密码输入框和标签
tk.Label(login_frame, text='密码:', bg='white').grid(row=1, column=0, pady=10)
password_entry = tk.Entry(login_frame, show='*', bd=2)
password_entry.grid(row=1, column=1, pady=10)
# 创建登录按钮
def login():
# 获取输入框中的数据
username = username_entry.get()
password = password_entry.get()
# 创建 MySQL 游标
cursor = db.cursor()
# 查询数据库中是否有该账号和密码
query = "SELECT * FROM users WHERE username=%s AND password=%s"
cursor.execute(query, (username, password))
result = cursor.fetchone()
if result:
print('登录成功')
# TODO: 在此处添加登录成功后的逻辑
else:
print('账号或密码错误')
tk.Button(login_frame, text='登录', command=login).grid(row=2, columnspan=2, pady=20)
login_window.mainloop()
```
在这个代码中,我们首先创建了一个 MySQL 连接,然后在登录函数中,获取输入框中的数据并使用 MySQL 游标查询数据库中是否有该账号和密码。如果查询结果不为空,说明账号密码正确,可以添加登录成功后的逻辑;否则,提示用户账号或密码错误。请注意,在使用 MySQL 连接时,需要根据实际情况修改 host、user、password 和 database 等参数。