学生信息管理系统
夸克网盘链接:
https://pan.quark.cn/s/a8d14512bb02
打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/05b43bf4d02d
本系统使用python,pyqt5,数据库使用MySQL,实现windowsGUI应用。
python使用pymysql模块操作数据库代码
import pymysql
def handle_db(cmd, sql):
result = None
# print(f" sql {sql}")
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='xxx',
password='xxxxx',
database='student_manager_system',
port=3306,
charset='utf8mb4'
)
# 创建游标
cursor = conn.cursor()
# 执行 SQL 语句
cursor.execute(sql)
# 获取查询结果
if cmd == "select":
result = cursor.fetchall()
print(f"result db {result} {type(result)}")
elif cmd == "insert":
rowcount = cursor.rowcount
if rowcount > 0:
# print("插入成功!")
result = True
else:
# print("插入失败!")
result = False
# 提交事务
conn.commit()
elif cmd == "delete":
rowcount = cursor.rowcount
if rowcount > 0:
result = True
else:
result = False
# 提交事务
conn.commit()
elif cmd == "update":
rowcount = cursor.rowcount
if rowcount > 0:
result = True
else:
result = False
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
return result
def insert_data(arg):
lineEdit, lineEdit2, lineEdit3, lineEdit4, lineEdit5, lineEdit6, lineEdit7 = arg
# 检查学号是否重复
check_sql = f"select * from student_manager where s_number={lineEdit2}"
print(f"check sql is : {check_sql}")
result = handle_db("select", check_sql)
if result:
return False, "学号重复"
sql = f"insert into student_manager values ('{lineEdit}', '{lineEdit2}', '{lineEdit3}', " \
f"'{lineEdit4}', '{lineEdit5}', '{lineEdit6}', '{lineEdit7}')"
print(f"insert sql is : {sql}")
result = handle_db("insert", sql)
print(f"result {result}")
if result:
return True, ""
else:
return False, "学生信息插入到数据库失败,请检查数据库"
def select_data():
sql = "select * from student_manager"
print(f"select data sql is : {sql}")
result = handle_db("select", sql)
# print(f"result {result}")
return result
def delete_data(num):
sql = f"delete from student_manager where s_number='{num}'"
print(f"delete data sql is : {sql}")
result = handle_db("delete", sql)
# print(f"result {result}")
return result
def update_data(arg):
lineEdit, lineEdit2, lineEdit3, lineEdit4, lineEdit5, lineEdit6, lineEdit7 = arg
# 检查学号是否重复
check_sql = f"select * from student_manager where s_number={lineEdit2}"
print(f"check update sql is : {check_sql}")
result = handle_db("select", check_sql)
if not result:
return False, "该学生学号不存在"
sql = f"update student_manager set name='{lineEdit}', sex='{lineEdit3}', age='{lineEdit4}'," \
f"grade='{lineEdit5}', class='{lineEdit6}', remark='{lineEdit7}' where s_number='{lineEdit2}'"
print(f"update data sql is : {sql}")
result = handle_db("update", sql)
# print(f"result {result}")
if result:
return True, ""
else:
return False, "学生信息修改到数据库失败,请检查数据库"
需要全部代码请私信
少年易老学难成,一寸光阴不可轻。