使用Python完成,页面的文本框能添加学生的名字学号到数据库中,输入姓名查询学号,删除学生数据,修改学生数据,代码要注释
时间: 2024-03-04 07:50:39 浏览: 90
好的,以下是使用Python和Flask框架实现一个简单的学生信息管理系统,能够实现页面添加学生信息到数据库中,输入姓名查询学号,删除学生数据,修改学生数据的功能,代码已加上注释。
```python
from flask import Flask, request, render_template
import sqlite3
app = Flask(__name__)
# 连接数据库
conn = sqlite3.connect('students.db')
# 创建表
conn.execute('''CREATE TABLE IF NOT EXISTS STUDENTS
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
NUMBER TEXT NOT NULL);''')
# 添加学生信息到数据库
def add_student(id, name, number):
conn.execute(f"INSERT INTO STUDENTS (ID, NAME, NUMBER) VALUES ({id}, '{name}', '{number}');")
conn.commit()
print(f"学生信息已添加:{id} {name} {number}")
# 根据姓名查询学生学号
def query_student(name):
cursor = conn.execute(f"SELECT NUMBER FROM STUDENTS WHERE NAME='{name}'")
for row in cursor:
return row[0]
# 根据学号删除学生信息
def delete_student(number):
conn.execute(f"DELETE FROM STUDENTS WHERE NUMBER='{number}'")
conn.commit()
print(f"学号为{number}的学生信息已删除")
# 根据学号修改学生信息
def update_student(number, new_name, new_number):
conn.execute(f"UPDATE STUDENTS SET NAME='{new_name}', NUMBER='{new_number}' WHERE NUMBER='{number}'")
conn.commit()
print(f"学号为{number}的学生信息已修改为:{new_name} {new_number}")
# 首页
@app.route('/')
def index():
return render_template('index.html')
# 添加学生信息
@app.route('/add', methods=['POST'])
def add():
id = request.form['id']
name = request.form['name']
number = request.form['number']
add_student(id, name, number)
return "添加成功"
# 查询学生信息
@app.route('/query', methods=['POST'])
def query():
name = request.form['name']
number = query_student(name)
return f"{name}的学号为{number}"
# 删除学生信息
@app.route('/delete', methods=['POST'])
def delete():
number = request.form['number']
delete_student(number)
return "删除成功"
# 修改学生信息
@app.route('/update', methods=['POST'])
def update():
number = request.form['number']
new_name = request.form['new_name']
new_number = request.form['new_number']
update_student(number, new_name, new_number)
return "修改成功"
if __name__ == '__main__':
app.run(debug=True)
# 关闭数据库连接
conn.close()
```
你可以使用以上代码,根据需要进行修改,实现更具体的功能。如果有任何问题,欢迎随时提出。
阅读全文