编写代码 1、要求使用Python的图形化工具+数据库系统完成学生信息管理系统。数据库建议使用Mysql数据库系统。 2、实现满足学生信息管理系统数据库表的设计。 3、实现学生信息的添加、修改、删除和查询功能,可以参考上学期学生管理系统的所要求的功能。 4、在界面设计上要求美观、操作简便,尽可能减少用户的输入工作。 5、要求与程序对应完成每个程序模块的实现说明文档。
时间: 2024-03-18 08:41:09 浏览: 104
好的,下面是一个基于Python的Tkinter图形化界面和MySQL数据库系统的学生信息管理系统的代码实现,包括学生信息的添加、修改、删除和查询功能。需要注意的是,代码中的数据库连接信息需要根据实际情况进行修改。
```python
import tkinter as tk
import mysql.connector
# 连接MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="123456",
database="students"
)
# 创建学生信息表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT, gender VARCHAR(255), major VARCHAR(255))")
# 添加学生信息
def add_student():
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
major = major_entry.get()
sql = "INSERT INTO students (name, age, gender, major) VALUES (%s, %s, %s, %s)"
val = (name, age, gender, major)
mycursor.execute(sql, val)
mydb.commit()
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_entry.delete(0, tk.END)
major_entry.delete(0, tk.END)
# 修改学生信息
def update_student():
id = id_entry.get()
name = name_entry.get()
age = age_entry.get()
gender = gender_entry.get()
major = major_entry.get()
sql = "UPDATE students SET name = %s, age = %s, gender = %s, major = %s WHERE id = %s"
val = (name, age, gender, major, id)
mycursor.execute(sql, val)
mydb.commit()
id_entry.delete(0, tk.END)
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_entry.delete(0, tk.END)
major_entry.delete(0, tk.END)
# 删除学生信息
def delete_student():
id = id_entry.get()
sql = "DELETE FROM students WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
id_entry.delete(0, tk.END)
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_entry.delete(0, tk.END)
major_entry.delete(0, tk.END)
# 查询学生信息
def search_student():
id = id_entry.get()
sql = "SELECT * FROM students WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result:
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_entry.delete(0, tk.END)
major_entry.delete(0, tk.END)
name_entry.insert(0, result[1])
age_entry.insert(0, result[2])
gender_entry.insert(0, result[3])
major_entry.insert(0, result[4])
else:
tk.messagebox.showinfo("提示", "未找到该学生信息!")
# 创建窗口
window = tk.Tk()
window.title("学生信息管理系统")
window.geometry("500x400")
# 创建标签和文本框
id_label = tk.Label(window, text="学号:")
id_label.grid(row=0, column=0)
id_entry = tk.Entry(window)
id_entry.grid(row=0, column=1)
name_label = tk.Label(window, text="姓名:")
name_label.grid(row=1, column=0)
name_entry = tk.Entry(window)
name_entry.grid(row=1, column=1)
age_label = tk.Label(window, text="年龄:")
age_label.grid(row=2, column=0)
age_entry = tk.Entry(window)
age_entry.grid(row=2, column=1)
gender_label = tk.Label(window, text="性别:")
gender_label.grid(row=3, column=0)
gender_entry = tk.Entry(window)
gender_entry.grid(row=3, column=1)
major_label = tk.Label(window, text="专业:")
major_label.grid(row=4, column=0)
major_entry = tk.Entry(window)
major_entry.grid(row=4, column=1)
# 创建按钮
add_button = tk.Button(window, text="添加", command=add_student)
add_button.grid(row=5, column=0)
update_button = tk.Button(window, text="修改", command=update_student)
update_button.grid(row=5, column=1)
delete_button = tk.Button(window, text="删除", command=delete_student)
delete_button.grid(row=5, column=2)
search_button = tk.Button(window, text="查询", command=search_student)
search_button.grid(row=5, column=3)
# 运行窗口
window.mainloop()
```
这段代码实现了一个基本的学生信息管理系统,包括添加、修改、删除和查询学生信息的功能,并且界面美观、操作简单。你可以根据需要对其进行修改和完善。
阅读全文