大家好,今天咱们聊聊“迎新管理信息系统”。最近我帮宁波某大学搞了个小项目,就是这个系统。为啥要做它呢?因为每年开学季,学校得处理一大堆新生信息,比如注册、宿舍分配啥的,工作量大得很。
首先,咱们得有个数据库。我用的是MySQL,因为它简单又稳定。咱们先建个表,用来存新生的信息。代码如下:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender ENUM('Male', 'Female') NOT NULL,
major VARCHAR(50) NOT NULL,
phone VARCHAR(15),
email VARCHAR(50)
);
接下来是编程部分。我用Python写的,因为方便快捷。咱们先写个简单的界面,让用户输入新生信息。这里用到了Tkinter库。
import tkinter as tk
def submit():
name = entry_name.get()
gender = var_gender.get()
major = entry_major.get()
phone = entry_phone.get()
email = entry_email.get()
# 插入数据到数据库
cursor.execute("INSERT INTO students (name, gender, major, phone, email) VALUES (%s, %s, %s, %s, %s)",
(name, gender, major, phone, email))
db.commit()
result_label.config(text="提交成功!")
root = tk.Tk()
root.title("迎新管理系统")
tk.Label(root, text="姓名:").grid(row=0, column=0)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1)
var_gender = tk.StringVar(value="Male")
tk.Radiobutton(root, text="男", variable=var_gender, value="Male").grid(row=1, column=0)
tk.Radiobutton(root, text="女", variable=var_gender, value="Female").grid(row=1, column=1)
tk.Label(root, text="专业:").grid(row=2, column=0)
entry_major = tk.Entry(root)
entry_major.grid(row=2, column=1)
tk.Label(root, text="电话:").grid(row=3, column=0)
entry_phone = tk.Entry(root)
entry_phone.grid(row=3, column=1)
tk.Label(root, text="邮箱:").grid(row=4, column=0)
entry_email = tk.Entry(root)
entry_email.grid(row=4, column=1)
tk.Button(root, text="提交", command=submit).grid(row=5, column=0, columnspan=2)
result_label = tk.Label(root, text="")
result_label.grid(row=6, column=0, columnspan=2)
root.mainloop()
最后一步是查询功能。咱们可以写个查询接口,让学生家长随时查看孩子的信息。代码如下:
def query_student(id):
cursor.execute("SELECT * FROM students WHERE id=%s", (id,))
return cursor.fetchone()
student_info = query_student(1)
print(student_info)
总的来说,这个系统在宁波的大学里运行得不错,减轻了工作人员的压力。希望我的经验对大家有帮助!