小明: 嘿,小李,最近我们学校的学工管理系统正在升级,我想加入一个助学金管理的功能,你觉得怎么样?
小李: 这个主意不错!助学金是学生非常关注的部分,能够帮助到更多需要的学生。我们可以先设计数据库表。
小明: 好的,那我们首先创建一个表来存储申请学生的数据吧。
小李: 对,我们可以使用SQL语句来创建这个表:
CREATE TABLE StudentScholarship (
id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT NOT NULL,
name VARCHAR(100) NOT NULL,
grade INT NOT NULL,
major VARCHAR(100),
scholarship_amount DECIMAL(10, 2),
status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending'
);
小明: 太好了!接下来我们怎么处理助学金的申请呢?
小李: 我们可以编写一个简单的Python脚本来模拟申请流程。比如,当学生提交申请时,我们需要更新数据库。
def apply_scholarship(student_id, name, grade, major):
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="school_management"
)
cursor = db.cursor()
sql = "INSERT INTO StudentScholarship (student_id, name, grade, major) VALUES (%s, %s, %s, %s)"
val = (student_id, name, grade, major)
cursor.execute(sql, val)
db.commit()
print(cursor.rowcount, "record inserted.")
小明: 真棒!那如果我们要审核这些申请怎么办呢?
小李: 审核可以通过修改数据库中的状态字段来完成。比如,设置status为'approved'或'rejected'。
def approve_reject_scholarship(scholarship_id, status):
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="school_management"
)
cursor = db.cursor()
sql = "UPDATE StudentScholarship SET status = %s WHERE id = %s"
val = (status, scholarship_id)
cursor.execute(sql, val)
db.commit()
print(cursor.rowcount, "record(s) affected")
小明: 这样我们的系统就可以很好地管理助学金了。最后,你认为还需要做些什么吗?

小李: 我觉得可以添加一个查询功能,让学生和管理员都能查看当前的助学金状态。
def view_scholarship_status(student_id=None):
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="school_management"
)
cursor = db.cursor()
if student_id:
cursor.execute("SELECT * FROM StudentScholarship WHERE student_id = %s", (student_id,))
else:
cursor.execute("SELECT * FROM StudentScholarship")
result = cursor.fetchall()
for row in result:
print(row)
小明: 太感谢你了,这样我们的学工管理系统就更完善了。
]]>
本站部分内容及素材来源于互联网,如有侵权,联系必删!



客服经理