毕业设计(论文)C++6.0学生信息管理系统.doc

上传人:文库蛋蛋多 文档编号:3976440 上传时间:2023-03-30 格式:DOC 页数:38 大小:563.50KB
返回 下载 相关 举报
毕业设计(论文)C++6.0学生信息管理系统.doc_第1页
第1页 / 共38页
毕业设计(论文)C++6.0学生信息管理系统.doc_第2页
第2页 / 共38页
毕业设计(论文)C++6.0学生信息管理系统.doc_第3页
第3页 / 共38页
毕业设计(论文)C++6.0学生信息管理系统.doc_第4页
第4页 / 共38页
毕业设计(论文)C++6.0学生信息管理系统.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)C++6.0学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)C++6.0学生信息管理系统.doc(38页珍藏版)》请在三一办公上搜索。

1、目 录1 绪论11.1 课题背景11.2 课题意义11.3 开发平台简介21.3.1 硬件环境21.3.2 软件环境21.4 使用工具简介21.4.1 Visual C+ 6.0 MFC介绍21.4.2 C+介绍22 系统分析32.1 可行性分析32.1.1 可行性分析的目的32.1.2 经济可行性分析32.1.3 社会可行性分析32.1.4 技术可行性分析32.2 需求分析32.2.1 功能需求分析42.2.2 性能需求分析52.3 系统数据流图62.3.1 顶级数据流图62.3.2 系统管理员数据流图62.3.3 学生数据流图72.3.4 教师数据流图83 概要设计83.1 系统功能模块图

2、83.2 各模块功能简介93.2.1 用户登录模块93.2.2 系统管理模块93.2.3 基本信息管理模块103.2.4 信息查询模块104 数据库设计114.1 概念设计114.2 逻辑设计144.3 物理设计145 详细设计165.1 数据库的连接与使用165.2 登录模块设计175.3 系统管理模块195.3.1 修改密码界面设计195.3.2 用户管理界面设计215.4 基本信息管理模块225.4.1 学生管理界面设计225.4.2 教师管理界面设计235.4.3 课程管理界面设计235.4.4 授课管理界面设计245.4.5 成绩管理界面设计265.5 信息查询模块275.5.1 成

3、绩查询界面设计275.5.2 授课查询界面设计295.5.3 学生信息查询界面设计305.5.4 教师信息查询界面设计306 测试316.1 测试目的316.2 测试内容316.3 具体测试326.3.1 功能测试326.3.2 性能测试336.4 测试结果分析33结论34致谢35参考文献361 绪论1.1 课题背景2、代码太多3、检查细节学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的信息管理系统,它是一个教育单位不可或缺的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生

4、提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率低,保密性差,给学校管理者以及学生都带来了很大的麻烦,严重影响了工作的效率。随着科学技术的不断提高,计算机科学的日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式。来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。社会教育在发展,管理系统应用也越来越多,这也是现代化教育的需要。就拿我所在的学校来说,一个很好的学生管理系统的功能还是很强大的,学生的信息、老师的资料、课程的安排以及学校的动态,我们都能很方便的了解。对于学校可以很好的了解学生的情况

5、,学生能很方便的使用并查看自己的成绩,还能通过这个平台在网上报考一些证书的考试。学生信息管理系统所起到的作用就是极大的减轻了管理远的负担,也方便老师与学生的交流互动,更促进了学生的学习。源于这个原因,我们可以看出学生信息管理系统作为计算机应用的一部分,它具有手工管理无法比拟的优点:检索迅速、查找方便、易于操作、可靠性高、存储信息量大、成本低等。这些优点能够极大地提高学生信息管理的效率。也是学校的科学化、正规化管理、与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以通过普及的网络更好的带来了便利。因此,使用这样一套管理系统是很有必要的。1.2 课题意义学生信息管理系统有着自己的巨大优势:

6、解决结构化问题;以高速度低成本完成数据的处理业务,追求系统处理问题的效率;实现一个相对稳定的、协调的工作环境;应用科学的、客观的处理方法,符合实际情况。这对于任何一所高校都起到极大的作用,日趋完善的信息管理系统带来的科学化合理化的管理方式无疑是重中之重。学生的相关信息作为一所高校的一个重要组成部分,学生信息管理系统在学校信息系统中占有重要的地位。它的数据量大,信息共享度高,而且对学生信息的查询的实时性要求高。该系统着重围绕学生,随着高等教育的普及度的提高,大量学子涌入大学,庞大的信息量也困扰着管理者,作为现代化的高校的学生管理,必须以人为本,从软、硬件上,上一个新的台阶,才可能提高管理效率。1

7、.3 开发平台简介1.3.1 硬件环境学生信息管理系统的特点是数据存储量大,查询检索,输入输出频繁,而且最重要的是安全性要高。硬件配置要求如下:1)处理器要求:Pentium IV 1.7GHZ或更高;2)内存要求:256MB或以上;3)显卡要求:32MB DirectX 9 compatible或以上;4)硬盘要求:40G或以上1.3.2 软件环境1)操作系统:Windows XP2)开发工具:Visual C+ 6.0 MFC3) 数据库:Microsoft office Access4)开发语言:C+1.4 使用工具简介1.4.1 Visual C+ 6.0 MFC介绍MFC 是一个以C

8、+类的层次形式组织面向对象的应用程序框架,程序员可以使用这一框架创建Windows应用程序。MFC就是利用面向对象的思想,将数据类型与Windows大部分API函数封装起来的一个浩瀚的类库;利用MFC编写程序的本质就是选择类库中合适的类,并调用其下相对于的成员函数来完成某个功能。所以,MFC是可移植的。1.4.2 C+介绍C+是一种高级编程语言,它继承了C语言所以特性,同时也新增了很多新的功能,如类,容器,模板等等。众所周知,C语言是面向过程的开发员,而我们的C+由于引进了新的特性,所以C+是面向对象的高级编程语言。最值得一提的是指针,如果一个程序员C+掌握的很好,那他的指针的使用一定十分熟练

9、,可以这么说指针是C+的核心部分。也正是因为指针的存在,C+一直沿用至今,而且还将继续作为一种重要的编程语言而存在着。2 系统分析2.1 可行性分析可行性分析作为投资决策前必不可少的关键环节,针对系统的开发是否具备必要性和可能性,对系统的开发从经济、社会、技术的方面进行分析、论证和评价,选定最佳方案,依此就是否应该投资开发该系统以及如何开发,或就此终止开发还是继续投资开发等给出结论性意见,为投资决策提供科学依据,并作为进一步开展工作的基础。2.1.1 可行性分析的目的可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。而本系统为学生信息管理系统着重用于管理信息,主要涉及人员为

10、管理员,教师,学生,且相应的数据的出并不是很难。所以,容易采用数据库来管理。2.1.2 经济可行性分析每所大学都有大量学子,随之而来就要管理庞大的学生信息,如果有这样一套学生信息管理系统,便会带来极大的益处,它不仅节约了管理的成本,同时也极大的提高了信息管理的效率。而本学生信息管理系统作为一个毕业设计,谈不上需要一些开发经费,因而是可行的。2.1.3 社会可行性分析社会可行性有时也称为操作可行性,主要是论证新系统在企业或单位开发和运行的可能性已经运行后可能带来的影响,即组织内外是否具备接收和使用新系统的条件。目前的IT技术在飞速发展,各类管理软件数不胜数,就本系统学生信息管理系统而言,它能够更

11、好的管理大量的学生信息,就这点而言,他可以拓宽计算机在市场环境下的生存空间,另外这样一类软件可以稍加修改也能作为企业的管理系统。2.1.4 技术可行性分析本系统在系统结构方面采用MFC与ACCESS数据库技术,很好的出来窗口操作、后台管理和和数据库三者之间的有效连接;在程序设计方面,基于Microsoft C+的基本类库,设计相当灵活,并且效率较高,也减少了大量在建立Windows程序是必须编写的代码;在成本方面,是可以忽略不计的,并且日后的维护也很方便,它的使用会减少学校管理者的工作量,提高了管理效率,同时方便了学生与教师。2.2 需求分析学生信息管理系统的主要目的是利用计算机软件实现对学生

12、的管理,是的学校的管理更加容易,提高工作效率,降低管理成本。学生信息管理系统分为一些基本信息的管理和信息的查询两部分,学生可以查看关于自己的一些信息以及了解老师的介绍。而老师对学生的的信息可以管理一些,如学生的成绩,老师可以对其录入,修改等操作。对于整个系统而言,为了便于对各个数据进行维护,还要增加管理员的权限,方便对老师和学生的信息进行维护。另外从安全角度考虑,有必要针对不同的用户对数据的访问与编辑进行控制。其中学生只能查询,而不能修改信息。同样教师也是如此,但教师能够对学生的成绩进行录入,也可修改。管理员可以对整个系统进行维护,需要管理员进行维护可能因为3中情况:一种是用户密码忘记了,这时

13、需要管理员对密码进行重置;另一种情况是某些数据由于人为的原因造成错误,这时需要管理员强制进行修改;还有一种情况是对信息的管理。2.2.1 功能需求分析在本系统中,有3中用户角色,分别是学生、教师和系统管理员。只有被授权的用户才可以使用本系统。根据用户权限来限定用户所能进行的操作。学生所具有的操作权限:学生可以查看课程信息、成绩、学生信息和教师信息,他只能进行查询操作,不能进行其他的操作。在3中用户角色中,学生的权限是最小的。教师所具有的操作权限:教师除了能够进行查询操作,还能对学生的成绩的添加、修改和删除进行操作。系统管理员的操作权限:系统管理员具有最高的权限,可以对所有数据进行修改或删除。对

14、用户信息的管理,包括密码重置、用户的增加与删除。对基本数据的管理,包括对学生管理、教师管理、课程管理、授课管理和成绩管理进行操作。功能需求具体分析如下:1)系统登录:用户输入用户名和密码,系统查询数据库中的信息对密码进行验证。如果密码不正确将不能进入系统;如果密码正确,系统会自动根据该用户所具有的权限进入不同的界面。这样一个登录窗口提高来系统的安全性。2)系统管理:修改密码:对于任何用户,包括学生、教师和系统管理员都可以对自己的密码进行重新设置。用户管理:只针对管理员才能进行操作,管理员可以查看用户状态,当教师或学生忘记密码时能够找回其密码,并且能添加、删除用户,修改用户权限。3)学生管理:能

15、够对学生的一些基本信息进行添加、修改、删除等操作。学生的基本信息包括学生编号、姓名、性别、年龄、电话号码和地址等。4)教师管理:能够对教师的一些基本信息进行添加、修改、删除等操作。教师的基本信息包括教师编号、教师姓名、性别、年龄、职称等。5)课程管理:能够对课程的一些基本信息进行添加、修改、删除等操作。课程的基本信息包括课程编号、课程名称、该门课的学时及学分。6)授课管理:能够对教师授课的情况进行管理。包括添加、修改和删除等操作。当教师准备教授课程时要记录到数据库中进行管理,方便日后对课程、教师等有关信息的查询。7)成绩管理:能够对成绩的情况进行管理。当一门课的成绩结果公布时,要相应的记录到数

16、据库中,这样,学生和教师才能够进行成绩的查询。8)成绩查询:可以按照学生查询,查询某个学生参加所有课程的成绩,并且可以进一步查询该学生的成绩情况。9)课程查询:可以查询某个教师所教授的所有课程情况,也可以查询某门课都有哪些教师教授过。10)学生信息查询:可以查询某个学生的相关基本信息情况。11)教师信息查询:可以查询某个教师的相关的基本信息情况。2.2.2 性能需求分析本系统可以实现许多性能特性,如:稳定性、安全性、实用性、实时性、可靠性等等。1)稳定性:系统应具备长期持续工作的能力。2)安全性:利用细分的权限管理,拒绝非法用户进入系统和合法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被

17、窃取和篡改,保护学生信息的安全。此外,还有良好的用户身份认证体制和灵活的密码更改功能。3)实用性:用户界面做到直观、友好;用户进入系统;本系统是对学生信息进行详细的调查之后实现的,功能模块一目了然,具有很强的实用性。4)实时性:对学生信息的管理的操作在各个模块中的实现达到了及时更改及时见效,使处理操作更为高效。5)可靠性:采用良好的操作系统和数据库,确保数据的一致性和完整性,并使系统免受病毒感染。2.3 系统数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主

18、要表达工具及用于表示软件模型的一种图示方法。2.3.1 顶级数据流图顶层数据流图主要描述学生信息管理系统的用户系统管理员、学生、教师登录该系统时的总体数据流程,具体如图2.1顶级数据流图:记录数据信息存储记录处理信息密码用户登录身份认证处理图2.1顶级数据流图2.3.2 系统管理员数据流图系统管理员数据流图主要是管理员对整个系统进行的一些操作。系统管理员的权限是最大的,在整个过程中起到举足轻重的作用。在管理员进行一系列的操作后产生的数据流程,如对用户的管理操作,不论是添加,还是删除用户都会改变用户人员的信息;在基本信息管理方面,进行学生管理会改变学生的信息,进行教师管理会改变教师的信息,进行课

19、程管理会改变课程的信息,进行成绩管理会改变学生的成绩信息,进行授课管理会改变授课的信息;另外,管理员还可以查询信息,其中包括学生的基本信息、教师的基本信息、学生的成绩信息已经授课信息。其具体的数据流如图2.2系统管理员数据流图所示:反馈完成处理处理信息管理操作查询信息更改密码反馈信息密码1身份认证用户密码2口令修改管理员登录用户交互界面3操作处理5查询信息处理的信息4记录处理后的信息进行管理后最新的信息图2.2 系统管理员数据流图2.3.3 学生数据流图学生在登录系统后可以进行相关的查询操作,具体如图2.3学生数据流图所示:查询信息查询信息反馈查询信息反馈查询信息更改密码反馈信息密码1身份认证

20、用户密码2口令修改3成绩查询成绩信息学生登录用户交互界面反馈4课程查询课程信息6教师信息查询教师信息反馈5学生信息查询学生信息图2.3 学生数据流图2.3.4 教师数据流图教师在登录系统后出来可以进行查询操作外,还能够对学生的成绩进行处理,其具体的数据流如图2.4教师数据流图所示:完成处理处理信息查询信息查询信息反馈查询信息反馈查询信息更改密码反馈信息密码1身份认证用户密码2口令修改8教师信息查询教师信息教师登录用户交互界面反馈7课程查询课程信息5成绩查询成绩信息反馈6学生信息查询学生信息管理操作3成绩管理处理的信息4处理后的信息图2.4 教师数据流图3 概要设计学生信息管理系统是为了方便管理

21、学生信息而设计的,针对不同的用户设定不一样的访问权限,管理员的权限最大,教师的权限范围有所缩小,最后学生的权限最小,他只能查询,不能修改。其中管理员可以设置和管理与学生相关的一些信息,如学生的基本信息包括学号,姓名,年龄,电话,家庭地址等等,另外还有学生课程的管理,教师的管理,授课的管理和学生成绩的管理。另一方面,这些信息可被学生和教师查询到。3.1 系统功能模块图整个学生信息管理系统分为4个模块来设计:其中系统登录为登录模块;修改密码和用户管理为系统管理模块;学生管理、教师管理、课程管理、授课管理和成绩管理为基本信息管理模块;最后的成绩查询、授课查询,学生信息查询和教师信息查询为信息查询模块

22、。功能模块图如图3.1系统功能模块图所示:用户登录模块信息查询模块基本信息管理模块系统管理模块课程管理授课管理用户管理学生管理教师管理修改密码成绩管理授课查询成绩查询学生信息查询教师信息查询图3.1 系统功能模块图3.2 各模块功能简介3.2.1 用户登录模块用户登录模块,这里有三种类型的用户:管理员、学生用户已经教师用户。通过权限设置不同的用户的使用的系统资源是有所区别的,在登录时,通验证用户是何种权限从而决定进入系统后其所能进行何种操作。用户登录模块如图3.2所示:用户登录模块管理员学生教师图3.2 用户登录模块3.2.2 系统管理模块系统管理模块又分为修改密码与用户管理两部分,其中无论哪

23、种用户都能够对自己的密码进行修改从而定期的修改密码很方便对自己账户的保护,但对用户管理这部分只用管理员有权限进行操作,管理员可添加和删除用户,也能对遗忘密码的用户进行密码重置。系统管理模块如图3.3所示:用户管理修改密码系统管理模块图3.3 系统管理模块3.2.3 基本信息管理模块基本信息管理模块又分为学生管理、教师管理、课程管理、授课管理和成绩管理,在这一模块,只有管理员对所有的部分有权限,教师只能够进行成绩管理操作,而学生什么权限也没有。基本信息管理模块如图3.4所示:基本信息管理模块学生管理教师管理课程管理授课管理成绩管理图3.4 基本信息管理模块3.2.4 信息查询模块信息查询模块又分

24、为成绩查询、授课查询、学生信息查询以及教师信息查询四项,这些操作是所有用户都能进行的。这一模块对于学生这类用户而言是其主要的操作范围,学生可以查看自己的情况包括自己的成绩,也可以了解其他同学的信息和一些教师的基本信息。信息查询模块如图3.5所示:信息查询模块成绩查询授课查询学生信息查询教师信息查询图3.5 信息查询模块4 数据库设计数据库是长期存储在计算机内、有组织的、同样管理的相关数据的机会,它能为各种用户所共享,具有较小的数据冗余度、数据间联系紧密而又有较高的数据独立性等特点。数据库是系统的后台,是信息管理系统的核心部分,它存储着所有的信息,将大量的数据按一定的模型组织起来,提供存储、维护

25、和检索数据的功能。在我所设计的学生信息管理系统中占有非常重要的地位。数据库结构设计的好坏将直接影响应用系统的效率及实现的效果,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。在设计初期对数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而高效的信息系统,用户才能方便、及时和准确地从数据库中存取所需的信息。4.1 概念设计数据库的概念设计是根据需求设计数据库的概念结构,在数据库技术中,我们用模型对现实世界的抽象,来描述数据库的结构与语义,从而来表现实体类型及实体间联系。这就要说到数据模块:数据模型是数据库的核心和基础。根据应用目的的不同,数据模型分为两类,它们分别属于

26、不同层次。一类是概念模型,它是按用户的观点对数据和信息建模;另一类是数据模型,如网状模型、层次模型、关系模型等。概念模型的表示方法很多,传统的最常用的方法是实体联系方法,这种方法用E-R 图来描述概念模型,称为E-R 模型,即实体联系模型。在这个模型中,实体定义为可标识的对用户重要的事物,具有同一类型的实体构成实体型,一个特定的实体称作实体实例。实体有描述其特征的属性,一个或多个属性表征一个实体。联系是指实体之间的关联,E-R 模型清楚地定义了联系,每个联系都有名字。联系的元是参加联系的实体的数目,大多数联系是二元的,二元联系有三种类型:一对一联系、一对多联系和多对多联系。在E-R 图中,实体

27、用长方形表示,联系用菱形表示,属性用椭圆表示。E-R 建模的中心思想是通过实体和它们之间的联系合理地体现一个组织的数据模型。在之前我对所设计的学生信息管理系统进行了需求分析,根据分析的结果,可以得到的实体有学生实体、教师实体和课程实体,另外还有两个关系。系统E-R图如图4.1所示:NMNM学时课程名称学分课程编号课程学生学生姓名学生编号地址电话性别年龄教师职称教师编号教师姓名教师性别教师年龄授课成绩授课编号分数图4.1 系统E-R图学生实体属性图如图4.2所示:学生学生编号学生姓名性别年龄地址电话图4.2 学生实体属性图教师实体属性图如图4.3所示:教师教师编号教师姓名教师性别教师年龄职称图4

28、.3 教师实体属性图课程实体属性图如图4.4所示:课程课程编号课程名称学时学分图4.4 课程实体属性图4.2 逻辑设计按照E-R图转化成为关系模型的原则,将上图转化成为关系模型(主键用下划线标注,外键用波浪线标注):1)实体关系模型学生(学生编号,学生姓名,性别,年龄,地址,电话)教师(教师编号,教师姓名,教师性别,教师年龄,职称)课程(课程编号,课程名称,学时,学分)2)联系关系模型授课(授课编号,课程编号,教师编号)成绩(成绩编号,学生编号,课程编号)4.3 物理设计数据库设计作为本系统设计中必不可少的一部分。从上面的功能分析不难看出本学生信息管理系统需要建立以下几个数据表:用户信息表us

29、erinfo、学生表student、教师表teacher、课程表course、授课表teach和成绩表。用户信息表保存了所以用户的用户名、密码、用户权限和是否在使用状态等基本信息,具体表设计如下表4-1所示:表 5-1 用户信息表到底是4-1还是5-1字段名称 字段含义字段类型字段长度备注user_id用户编号自动编号主键,不允许为空user_name用户名称文本50主索引,非空user_password用户密码文本50非空user_level用户权限文本1非空active_status使用状态文本2非空学生表保存了所以学生用户的学生编号、学生姓名、学生性别、学生年龄、学生电话、学生地址和是否

30、在使用状态等基本信息,具体表设计如下表4-2所示:表4-2 学生表字段名称 字段含义字段类型字段长度备注student_id学生记录号自动编号主键,不允许为空student_no学生编号文本10主索引,非空student_name学生姓名文本10非空student_sex学生性别文本2非空student_age学生年龄数字2非空student_phone学生电话文本20非空student_address地址文本100非空student_status使用状态文本2非空教师表保存了所以教师用户的教师编号、教师姓名、教师性别、教师年龄、教师职称和是否在使用状态等基本信息,具体表设计如下表4-3所示:

31、表4-3 教师表字段名称 字段含义字段类型字段长度备注teacher_id教师记录号自动编号主键,不允许为空teacher_no教师编号文本6主索引,非空teacher_name教师姓名文本10非空teacher_sex教师性别文本2非空teacher_age教师年龄数字2非空teacher_level教师职称文本6非空teacher_status使用状态文本2非空课程表保存了所有课程的课程编号、课程名称、课程学时、课程学分和是否在使用状态等基本信息,具体表设计如下表4-4所示:表4-4 课程表字段名称 字段含义字段类型字段长度备注course_id课程记录号自动编号主键,不允许为空cours

32、e_no课程编号文本6主索引,非空course_name课程名称文本20非空course_hour课程学时数字2非空course_credit课程学分数字2非空course_status使用状态文本2非空授课表保存了所有授课的的课程编号、教师编号和是否在使用状态等基本信息,具体表设计如下表4-5所示:表4-5 授课表teach_id授课记录号自动编号主键,不允许为空course_no课程编号文本6外键,非空teacher_no教师编号文本6外键,非空active_status成绩文本2非空成绩表保存了所有学生的成绩的学生编号、课程编号、成绩和是否在使用状态等基本信息,具体表设计如下表4-6所示

33、:表4-6 成绩表字段名称 字段含义字段类型字段长度备注score_id成绩记录号自动编号主键,不允许为空student_no学生编号文本10外键,非空course_no课程编号文本6外键,非空score成绩数字2非空active_status使用状态文本2非空5 详细设计5.1 数据库的连接与使用本系统采用ODBC数据库,ODBC提供了应用程序接口,使得任何一个数据库都可以通过ODBC驱动器与指定的DBMS相联,从而可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。ODBC作为Windows开放式服务体系结构的主要组成部分,它一直沿用至今。在ODBC数据管理器中创建数据源:

34、1)“开始”“控制面板”“管理工具”“数据源(ODBC)”命令,就打开了ODBC数据源管理器对话框,选择“用户DSN”选项卡,创建数据源。2)“添加”按钮进入创建新数据源窗口,选择“Microsoft Access Driver”。3)“完成”进入“ODBC Microsoft Access 安装”窗口,填写数据源名称为“Student_Information”,并选择自己所建立的数据库,点击“确定”就完成了。在程序设计中使用数据库:1)一种是直接继承自CRecordset类,使用它的记录对象。在设计中部分代码如下:/查询操作strSQL.Format(user_id=%s,s);/定义查询条

35、件,相当于wherem_userSet.Open();m_userSet.m_strFilter=strSQL;/使用查询条件m_userSet.Requery();/执行查询/修改操作m_userSet.Edit();/游标指定到该行所在的记录上,执行修改/添加操作m_userSet.Open();/打开记录集m_userSet.AddNew();/添加新记录2)另一种方式是直接使用SQL语句对数据进行操作,在设计中有这样一段代码:/查出该程序的课程号strSQL.Format(select * from course where course_status=Y and course_nam

36、e=%s,course);m_recordSet.Open(CRecordset:forwardOnly,strSQL);m_recordSet.GetFieldValue(course_no,course_no);if(this-id=0)/id为0,表示添加记录strSQL.Format(insert into teach(teacher_no,course_no,active_status) values(%s,%s,Y),teacher_no,course_no);m_database.ExecuteSQL(strSQL);else if(id!=)/为修改记录strSQL.Forma

37、t(update teach set teacher_no=%s,course_no=%s where teach_id=%s,teacher_no,course_no,id);m_database.ExecuteSQL(strSQL);5.2 登录模块设计用户登录模块实现对用户合法性的检查,读取相应用户权限,同时在登录后根据用户权限显示不同的功能界面。用户登录界面的资源文件为“IDD_LOGIN”,对话框后台处理的累为“CLoginDlg”,该类继承自“CDialog”。对于修改了权限的用户,只有在下次登录的时候,才会起作用。图5.1 系统登录界面其中“确定”按钮的事件响应代码如下:void

38、 CLoginDlg:OnOK() CString username,password;/定义两个字符串变量m_strUserName.GetWindowText(username);/将文本框中的值赋给usernamem_strPassword.GetWindowText(password);/将文本框中的值赋给帕password if(!m_database.IsOpen()/如果数据没有打开,则打开数据库if(m_database.Open(_T(Student_Information)/如果正确打开数据库m_recordSet.m_pDatabase=&m_database;/将m_d

39、atabase对象赋给m_pDatabaseCString strSQL;strSQL.Format(select * from userinfo where user_name=%s and user_password=%s and active_status=Y,username,password); m_recordSet.Open(CRecordset:forwardOnly,strSQL);/打开记录集if(m_recordSet.GetRecordCount()=0)/如果找不到记录MessageBox(密码错误,请重新输入,密码错误,MB_OK|MB_ICONWARNING);/

40、提示密码错误 m_strPassword.SetWindowText();/清空密码文本框m_strPassword.SetFocus();/设置用户名文本框为当前的焦点else/如果找到记录 m_recordSet.GetFieldValue(user_level,m_userLevel);/则将数据库中的权限值赋给m_userLevelCDialog:OnOK();/进入到主窗口m_recordSet.Close();/关闭记录集m_database.Close();/关闭数据库else/如果没有正确打开数据库MessageBox(不能打开数据库);5.3 系统管理模块系统管理分为普通用户

41、(包括教师用户和学生用户)和管理员用户。密码修改主要是为了安全方面的考虑,应定期更改登录密码。用户管理模块主要包括用户的添加、修改和删除已经权限的设置等功能。用户管理窗口资源为“IDD_USER”,对话框后台处理的类为“CUserDlg”,该类继承自“CDialog”类。数据库后台处理的类为“CUserSet”类,该类继承自“CRecordset”类。5.3.1 修改密码界面设计用户可以根据自己的需要定期的更改密码,密码修改的界面如下图5.2所示:图5.2 修改密码界面修改密码是,实现用户名不能为空,再有就是输入的用户名和密码要存在才能修改,另外最好一步就是在确认输入密码要与新密码一致,自由这

42、样才能成功修改密码。下面是具体实现代码的主要部分:if(newPassword.IsEmpty()|confirmPassword.IsEmpty()/判断新密码是否为空MessageBox(密码不为空);elseif(newPassword!=confirmPassword)/判断两次输入的新密码是否相同MessageBox(两次输入的密码不一致,请重新输入新密码);pNew-SetWindowText();/清空密码文本框pConfirm-SetWindowText();/清空确认密码文本框pNew-SetFocus();/设置新密码文本框为焦点elseif(!m_database.IsO

43、pen()/如果数据库没有打开,则打开数据库if(m_database.Open(_T(Student_Information)/如果正确打开m_recordSet.m_pDatabase=&m_database;/将m_database对象赋给m_pDatabaseCString strSQL;strSQL.Format(select * from userinfo where user_name=%s and user_password=%s and active_status=Y,username,password);m_recordSet.Open(CRecordset:forwardOnly,strSQL);if(m_recordSet.GetRecordCount()=0)/如果找不到记录MessageBox(密码错误,请重新输入,密码错误,MB_OK|MB_ICONWARNING);/提示密码错误pP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号