赞
踩
本课程设计使用数据库,熟悉了Python语言操作数据库,对数据库的增删改查,实现Qt designer界面设计以及excel表格的读写,代码通俗易懂,方便对所学知识的掌握。
用类对学生成绩、代码封装使得操作使用简单;
利用数据库,增加了操作大量数据的效率,便于增删改查;
将信息读取数据库,更新后写入数据库,及时备份;
界面设计,可以在实际中直接应用此项目。
熟悉了对于界面的背景设计、字体、空间颜色、美化风格等的设计,使界面使用更直观。
先安装PyMySQL模块:pip install PyMySQL,再使用时直接导入即可:import pymysql
PyMySQL是封装了MySQL驱动的Python驱动,一个能使Python连接到MySQL的库。数据库的名称、密码都是自己设定的。
- #定义了一个操作数据库的类,包括增删改查等功能
- class PyMySQL:
- def __init__(self):
- # 建立一个MySQL连接
- self.db = pymysql.connect(
- host='localhost',
- user='root',
- passwd='root',
- db='test',
- port=3306,
- charset='utf8'
- )
-
- # 获得游标
- self.cursor = self.db.cursor()
-
- # 关闭连接
- def close(self):
- # 关闭游标
- self.cursor.close()
- # 关闭数据库连接
- self.db.close()
-
- # 查询多条数据
- def fetchall(self, sql):
- self.cursor.execute(sql)
- res = self.cursor.fetchall()
- return res
-
- # 获取单条数据
- def fetchone(self, sql):
- self.cursor.execute(sql)
- res = self.cursor.fetchone()
- return res
-
- def execute(self, sql):
- try:
- self.cursor.execute(sql)
- self.db.commit()
- except:
- self.db.rollback()
将存放学生成绩的excel表格导入到数据库中。
本机安装了数据库(使用数据库操作方便快捷,若没有安装数据库,本课程设计可以使用excel表格存储查找,同样也可以。并且在使用数据库时,确保数据库是打开的,在电脑-服务-查看)
create database student_score; 在数据库中新建了存放学生成绩的表格和存放教师登陆信息的表格。
use database ***
在数据库中创建表格create table ***,可以使用命令行也可以在数据库软件中直接创建,代码中创建也可以。多种方式自选
- CREATE TABLE IF NOT EXISTS teacher_login(
- username varchar(32) NOT NULL,
- password varchar(32) NOT NULL
将存放学生成绩信息的数据存入到数据库的表格中
在数据库中可以查看到数据存放成功了
本部分主要分为三个界面类
登陆界面中需要查看数据库中教师的信息是否存在,密码是否正确,并给出对应的提示
教师注册界面将注册信息存放到数据库中,对于注册输入的信息给出响应的提示
对学生的成绩信息进行操作,可以增添、修改、查询、删除、导出
特别注意的是,增添信息后,数据库和界面表格中的信息都要有同样的操作,显示界面要实时刷新!!
注意数据库和界面表格中的信息都要更新
若学号不存在,则查询失败
删除失败
删除成功,数据库与界面表格中的数据都不存在了。
将文件的信息写入到对应的excel文件中,文件名可以设定为当前的时间。
提示
默认写入成功到当前运行的文件夹,文件名为当前的时间,可以根据需要修改
熟悉了数据库的使用,使得大量数据操作起来方便快捷。Qt界面设计减少了代码的编写。
excel表格中的数据变了,但是界面表格中的数据未改变。由于采用了insert into到数据库,若主键已存在,数据就不会更新,必须加一个判断,若数据记录存在的话,删除再新加。或者使用replace into.
及时查看数据库中的信息,确保数据可以正常增删改查
注意界面的引用,容易出现界面显示不正常
在插入、更新操作中数据库中的信息无法更新,检查后发现是由于添加的信息项有缺失,无法加入。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。