一、系统概述
本文设计的是学生信息管理系统,能够实现权限管理即不同的用户角色能够拥有不同的限,角色主要是学生、教师和管理员,针对不同的用户,有着不同的操作权限,学生角色只能够查看到学生基础信息,不能够进行删除和添加的操作,而教师和管理员则能够实现学生基础信息的增加、删除等。
本系统设计采用的是c++语言,使用的软件是VS2017,数据库使用的是MYSQL数据库,数据库可用Navicat 进行可视化操作。
系统的主要架构如下图:
用户首先进入到登录界面,输入用户名和密码,并选择角色,进行身份的验证,通过连接数据库进行用户名和密码进行验证,当用户输入的用户名和密码与数据库中的一致的话就可以登陆进去,同时记录用户的角色,验证用户角色,判断是否显示学生成绩的页面,在对学生基础信息与学生成绩信息进行操作都需要进行用户角色的验证,验证不通过则会提示权限不足,验证通过则可以进行学生信息的增加、删除等操作。
二、系统实现
1.环境搭建
- 安装VS2017软件,比2017版本高的应该都可以,如果软件版本比较2017低的话可能会导致兼容的问题。
- 安装MYSQL数据库,我使用的是5.5.56版,5.5.*版本应该是很稳定的一个版本了。
- VS2017软件连MYSQL接数据库的配置,由于时间比较长了,在这里就不详细说了,大家可以根据网上的教程自行配置。
2.数据库构建以及数据源的配置
- 利用Navicat软件连接MYSQL,之后可以对数据库进行可视化的操作。 首先创建一个连接,连接你本地的MYSQL数据库;连接之后创建一个数据库managersystem,名字自己取即可;然后在数据库创建三张表,三张表如下图。
第一张表是用户表,主要有三个字段,userName,userPassword和role,三个字段分别存储用户的用户名、用户密码和角色名称(用户权限)。
另外两张表就是学生信息表和学生成绩表,主要是存储学生基本信息和学生成绩信息,就不作详细说明了。
学生信息表t_student:
学生成绩表t_mark:
2.配置MYSQL数据源,首先在电脑中的【控制面板】---->【管理工具】里打开MYSQL数据库ODBC驱动,找不到则去网上下载ODBC驱动程序,如下图所示。
3. 创建一个MYSQL数据源,选择MySQLODBC 5.1 Driver 驱动程序,如下图所示。
之后会弹出一个配置数据库连接信息的界面,按照提示填写,如下图所示。
4. 登录界面
登录界面能够实现三种角色的登录,当用户输入账户和密码之后,通过连接数据库对用户账户和密码进行判断,验证之后,如果用户名和密码正确,则能够登录到系统中,如果验证失败,则提示错误信息。登录界面如图。
登录界面实现数据库验证的主要代码是:
mysql_query(&m_sqlCon, "SET NAMES GB2312");
query.Format("select userName,userPassword,role from t_user where userName = \'%s\' and userPassword=\'%s\'", this->userName, this->userPassword);
int ress = mysql_query(&m_sqlCon, (char*)(LPCSTR)query);
if (ress == 0) //检测查询成功
{
res = mysql_store_result(&m_sqlCon);
if (mysql_num_rows(res) == 0) //查询结果为空
{
AfxMessageBox("用户不存在");
}
else
{
row = mysql_fetch_row(res