好的,我可以为您提供一些关于 tkinter 和 MySQL 的增删改查操作以及一个简单的登陆系统的代码示例。需要注意的是,这里的代码只是一个简单的示例,您需要根据自己的实际情况进行调整和优化。
首先,需要安装 MySQL Connector Python,可以使用 pip 进行安装:
```
pip install mysql-connector-python
```
下面是一个 tkinter 窗口,包含了添加、删除、修改和查询功能的示例代码:
```python
import mysql.connector
from tkinter import *
from tkinter import messagebox
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
# 创建 tkinter 窗口
root = Tk()
root.geometry("500x500")
# 添加数据
def add():
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
cursor = mydb.cursor()
sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
val = (name, age, gender)
try:
cursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Data added successfully")
except:
mydb.rollback()
messagebox.showerror("Error", "Failed to add data")
# 删除数据
def delete():
id = id_entry.get()
cursor = mydb.cursor()
sql = "DELETE FROM students WHERE id = %s"
val = (id,)
try:
cursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Data deleted successfully")
except:
mydb.rollback()
messagebox.showerror("Error", "Failed to delete data")
# 更新数据
def update():
id = id_entry.get()
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
cursor = mydb.cursor()
sql = "UPDATE students SET name = %s, age = %s, gender = %s WHERE id = %s"
val = (name, age, gender, id)
try:
cursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Data updated successfully")
except:
mydb.rollback()
messagebox.showerror("Error", "Failed to update data")
# 查询数据
def search():
id = id_entry.get()
cursor = mydb.cursor()
sql = "SELECT * FROM students WHERE id = %s"
val = (id,)
cursor.execute(sql, val)
result = cursor.fetchone()
if result:
name_entry.delete(0, END)
name_entry.insert(0, result[1])
age_entry.delete(0, END)
age_entry.insert(0, result[2])
gender_entry.delete(0, END)
gender_entry.insert(0, result[3])
else:
messagebox.showerror("Error", "Data not found")
# 创建标签和输入框
id_label = Label(root, text="ID:")
id_label.grid(row=0, column=0)
id_entry = Entry(root)
id_entry.grid(row=0, column=1)
name_label = Label(root, text="Name:")
name_label.grid(row=1, column=0)
name_entry = Entry(root)
name_entry.grid(row=1, column=1)
age_label = Label(root, text="Age:")
age_label.grid(row=2, column=0)
age_entry = Entry(root)
age_entry.grid(row=2, column=1)
gender_label = Label(root, text="Gender:")
gender_label.grid(row=3, column=0)
gender_entry = Entry(root)
gender_entry.grid(row=3, column=1)
# 创建按钮
add_button = Button(root, text="Add", command=add)
add_button.grid(row=4, column=0)
delete_button = Button(root, text="Delete", command=delete)
delete_button.grid(row=4, column=1)
update_button = Button(root, text="Update", command=update)
update_button.grid(row=5, column=0)
search_button = Button(root, text="Search", command=search)
search_button.grid(row=5, column=1)
# 运行 tkinter 窗口
root.mainloop()
```
接下来是一个简单的登陆系统的代码示例,包含了注册和登陆功能:
```python
import mysql.connector
from tkinter import *
from tkinter import messagebox
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
# 创建 tkinter 窗口
root = Tk()
root.geometry("300x200")
# 注册功能
def register():
username = username_entry.get()
password = password_entry.get()
cursor = mydb.cursor()
sql = "INSERT INTO users (username, password) VALUES (%s, %s)"
val = (username, password)
try:
cursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Registered successfully")
except:
mydb.rollback()
messagebox.showerror("Error", "Failed to register")
# 登陆功能
def login():
username = username_entry.get()
password = password_entry.get()
cursor = mydb.cursor()
sql = "SELECT * FROM users WHERE username = %s AND password = %s"
val = (username, password)
cursor.execute(sql, val)
result = cursor.fetchone()
if result:
messagebox.showinfo("Success", "Logged in successfully")
else:
messagebox.showerror("Error", "Invalid username or password")
# 创建标签和输入框
username_label = Label(root, text="Username:")
username_label.grid(row=0, column=0)
username_entry = Entry(root)
username_entry.grid(row=0, column=1)
password_label = Label(root, text="Password:")
password_label.grid(row=1, column=0)
password_entry = Entry(root, show="*")
password_entry.grid(row=1, column=1)
# 创建按钮
register_button = Button(root, text="Register", command=register)
register_button.grid(row=2, column=0)
login_button = Button(root, text="Login", command=login)
login_button.grid(row=2, column=1)
# 运行 tkinter 窗口
root.mainloop()
```
希望这些示例代码能够对您有所帮助。