当前位置: 首页 > news >正文

python PyQt5 MySQL GUI 学生信息管理系统

学生信息管理系统

本系统使用python,pyqt5,数据库使用MySQL,实现windowsGUI应用。

python使用pymysql模块操作数据库代码

import pymysqldef 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.rowcountif rowcount > 0:# print("插入成功!")result = Trueelse:# print("插入失败!")result = False# 提交事务conn.commit()elif cmd == "delete":rowcount = cursor.rowcountif rowcount > 0:result = Trueelse:result = False# 提交事务conn.commit()elif cmd == "update":rowcount = cursor.rowcountif rowcount > 0:result = Trueelse:result = False# 提交事务conn.commit()# 关闭游标和连接cursor.close()conn.close()return resultdef 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 resultdef 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 resultdef 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, "学生信息修改到数据库失败,请检查数据库"

 系统首页
请添加图片描述

请添加图片描述
请添加图片描述

需要全部代码请私信

少年易老学难成,一寸光阴不可轻。

http://www.lryc.cn/news/218379.html

相关文章:

  • [SSD综述1.6] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
  • 【计算机网络 - 自顶向下方法】第一章习题答案
  • 零基础搭建Nextcloud私有云盘并通过内网穿透实现远程访问
  • element ui多选框编辑时无法选中的解决办法
  • Android Studio布局
  • 2.10 CSS BFC
  • iSlide2024一款基于PPT的插件工具包含38个设计辅助功能
  • ATE新能源汽车充电桩自动负载测试系统
  • 机器学习笔记 - 感知器的数学表达
  • JavaScript 自定义对象
  • UNI-APP_ios自动适应底部安全区背景,修改安全区背景
  • 微服务的定义
  • 什么是C语言中的异常和错误处理机制?
  • 某某盾-滑块验证-自动获取validate值-(逆向js+python)
  • C++:set和map的使用
  • 同城售后系统退款业务重构心得 | 京东云技术团队
  • 【计算机网络笔记】TCP连接管理(图解三次握手和四次挥手)
  • C++ 初阶 类和对象(中)
  • 【漏洞复现】Metinfo5.0.4任意文件包含漏洞复现
  • 【计算机网络实验/wireshark】tcp建立和释放
  • STM32:I²C通信原理概要
  • 【开题报告】基于 Spring Boot 的在线预约导游系统的设计与实现
  • 如何使用ps制作ico图标文件
  • 【Linux】logrotate实现“日志文件定时分割“
  • Android可绘制资源概览(背景、图形等)
  • 力扣2095.删除链表的中间节点(java快慢指针)
  • 【Vue-Element-Admin】table添加自定义索引
  • 0008Java安卓程序设计-ssm基于Android平台的健康管理系统
  • Mac 禁用一些高占用cup的进程
  • layui form表单 调整 label 宽度