C++实现一个基于mfc的学生信息管理系统

本文介绍了一个使用C++和MFC构建的学生信息管理系统,系统包括用户权限管理,支持学生、教师和管理员角色。系统基于VS2017开发,连接MYSQL数据库,利用Navicat进行可视化操作。用户登录后,根据角色权限进行信息查看和操作,如学生只能查询,而教师和管理员可增删。文章涵盖了环境配置、数据库设计和功能实现等细节。
摘要由CSDN通过智能技术生成

一、系统概述

本文设计的是学生信息管理系统,能够实现权限管理即不同的用户角色能够拥有不同的限,角色主要是学生、教师和管理员,针对不同的用户,有着不同的操作权限,学生角色只能够查看到学生基础信息,不能够进行删除和添加的操作,而教师和管理员则能够实现学生基础信息的增加、删除等。
本系统设计采用的是c++语言,使用的软件是VS2017,数据库使用的是MYSQL数据库,数据库可用Navicat 进行可视化操作。
系统的主要架构如下图:
在这里插入图片描述
用户首先进入到登录界面,输入用户名和密码,并选择角色,进行身份的验证,通过连接数据库进行用户名和密码进行验证,当用户输入的用户名和密码与数据库中的一致的话就可以登陆进去,同时记录用户的角色,验证用户角色,判断是否显示学生成绩的页面,在对学生基础信息与学生成绩信息进行操作都需要进行用户角色的验证,验证不通过则会提示权限不足,验证通过则可以进行学生信息的增加、删除等操作。

二、系统实现

1.环境搭建

  1. 安装VS2017软件,比2017版本高的应该都可以,如果软件版本比较2017低的话可能会导致兼容的问题。
  2. 安装MYSQL数据库,我使用的是5.5.56版,5.5.*版本应该是很稳定的一个版本了。
  3. VS2017软件连MYSQL接数据库的配置,由于时间比较长了,在这里就不详细说了,大家可以根据网上的教程自行配置。

2.数据库构建以及数据源的配置

  1. 利用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
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值