高校成绩系统优秀设计.docx

上传人:b****6 文档编号:6166038 上传时间:2023-01-04 格式:DOCX 页数:57 大小:865.05KB
下载 相关 举报
高校成绩系统优秀设计.docx_第1页
第1页 / 共57页
高校成绩系统优秀设计.docx_第2页
第2页 / 共57页
高校成绩系统优秀设计.docx_第3页
第3页 / 共57页
高校成绩系统优秀设计.docx_第4页
第4页 / 共57页
高校成绩系统优秀设计.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

高校成绩系统优秀设计.docx

《高校成绩系统优秀设计.docx》由会员分享,可在线阅读,更多相关《高校成绩系统优秀设计.docx(57页珍藏版)》请在冰豆网上搜索。

高校成绩系统优秀设计.docx

高校成绩系统优秀设计

VC++课程设计

————————高校成绩管理系统

摘要

本文主要阐述的是用VisualC++的数据库编辑来实现一个高校成绩管理系统。

其中介绍了ODBC数据库编辑的基本方法和过程,包括创建数据库作为数据源并在操作系统中通过ODBC注册该数据源,用向导AppWizard创建基本的数据库应用程序框架,以及添加一些代码来实现一些AppWizard不能支持的特定功能,如增删改数据记录。

最终实现高校成绩的查询显示,操作的基本功能。

整个论文分五章讲述了制作高校成绩管理系统的过程。

第一章绪论,介绍了一些基于VisualC++和数据库的知识。

接着第二章对项目进行分析和设计。

第三章则是该数据库管理系统实现的具体过程,并着重记录了系统管理功能的原代码。

第四章的结论是对整个课程设计的总结和分析。

最后一章第五章附上了所有的原代码程序。

Abstract

WhatthetextprimarilyexpatiatesisusedatabaseeditoroftheVisualC++torealizeastudent'sscoremanagesystem.ItintroducedthebasicmethodandprocessofdatabaseeditofODBC,andincludetosetupthedatabaseasthedata’ssourceandregisterthedata'ssourcebyODBCintheoperatesystem.UseAppWizardtosetupdatabaseapplicationprocedureframe.AndaddsomecodetorealizetheparticularfunctionthatsomeAppWizardcan'tsupport.Forinstance,addordeletesomerecordandModificationdata.Atlast,itcouldrealizesthesearchandoperateofstudent’sscore.

Thewholedisquisitionisseperatedbyfivechapterswhichdescribestheprocessofthestudents’scoremanagement-system.Chapterone,Theintroduction.Chaptertwo,tellsabouttheanalysisanddesignofitems.Chapterthreeisabouttheprocessofrealizationofthedata-basemanagement-system,andemfersizlyregistertheoriginalcodeofthefunctionofmanagement-system.Chapterfouristheconclusionaboutthesummerizeandanalysisofthewholegraduating-works.Thelastchaptergiveoutalloftheoriginalcodeproceedings.

1绪论

在现今的社会的各个领域中,数据库管理系统正在发挥着越来越重要的作用。

无论是一个大型的现代化公司,还是一个小小的家庭,都有很多的信息和数据需要有效的,智能化的管理,信息管理的高效性和合理性直接关系到人们的工作和学习效率。

另外,如今网络的飞速发展,在使人们更容易获得信息的同时,不得不面对更多得数据,比如网上的成绩查询系统,如此多的学生信息,光靠原始的纸笔已经不能满足信息的处理要求了,在这里,更高效的数据收集,处理和分析能力就意味着更多的机会和先机。

数据库管理系统使得我们能把自己身边的资源最大的利用起来。

所以我们必须要不停得发展出更多更好得数据库管理系统来满足这个信息爆炸的时代。

数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。

例如,把一个学校的老师,学生和课程等数据有序的组织起来,存储在计算机磁盘上,就构成了一个数据库。

为了有效的管理数据库,常常需要一些数据库管理系统(DBMS)为用户提供对数据库操作的各种命令,工具及方法,包括数据库的建立和记录的输入,修改,检索,显示,删除和统计等。

比如随时对数据库中的高校高校高校高校高校高校成绩进行汇总,或由管理员修改,增加或删除。

流行的DBMS包括MicrosoftAccess,MicrosoftSQLServer,OracleServer,SybaseSQYServer和MicrosoftVisualFoxpro等,这些DBMS都提供了一个SQL接口。

作为用来在DBMS中访问和操作的语言,SQL(结构化查询语言)语句分为两类:

一类是(DDL,DataDefinitionLanguage数据定义语言)语句,它是用来创建表,索引等的:

另一类是(DML,DataManipulationlanguage数据定义语言)语句,这些语句是用来读取数据,更新数据和执行其他类似操作的语句的。

VisualC++为用户提供了ODBC,(OpenDatabaseConnectivity开放数据库连接)DAO,(DataAccessObjects数据访问对象)及OLEDB,(OLEDatabaseOLE数据库)三种数据库方式,使用户的应用程序从特定的数据管理系统(DBMS)中脱离出来。

ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定的DBMS相连。

用户的程序就可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。

作为MicrosoftWindowsOpenStandardsArchitecture(WOSA,Windows开放式服务体系结构)的主要组成部分,ODBC一直沿用至今。

DAO类似于用MicrosoftAccess或MicrosoftVisualBasic编写的数据库应用程序,它使用Jet数据库引擎形成一系列的数据访问对象:

数据库对象,表和查询对象,记录集对象等。

它可以打开一个Access数据库文件(MDB文件),也可直接打开一个ODBC数据源以及使用Jet引擎打开一个ISAM(被索引的顺序访问方法)类型的数据源(Dbase,FoxPro,Paradox,Excel或文本文件)。

OLEDB试图提供一种统一的数据访问接口,并能处理除了标准的关系型数据库中的数据之外,还能处理包括邮件数据,Web上的文本或图形,目录服务(DirectoryService)以及主机系统中的IMS和VSAM数据。

OLEDB提供一个数据库编程COM(组件对象模型)接口,似的数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点,格式或类型。

这个COM借口与ODBC相比,其健壮性和灵活性都要高的多,但是,由于OLEDB的程序比较复杂,因而对于一般的拥护来说ODBC和DAO方式已能满足一般数据库处理的要求。

除此之外,还要介绍一下ADO.ADO.是继RDO/DAO的后继产物,是为Microsoft最新的数据访问规范OLEDB而设计的。

它继承了OLEDB技术的优点。

并且,ADO对OLEDB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。

一个好的数据库管理系统,不单可以对信息进行分类,还可以对特定的信息进行查询,同时系统的管理员可以随时增加,删除和修改系统内的信息,它应该有有效且美观的界面,以及可靠的性能等优点。

现今国内外已经涌现出了许多数据库管理系统,如MicrosoftAccess,MicrosoftSQLServer,OracleServer,SybaseSQLServer和MicrosoftVisualFoxpro等。

尽管这些系统能出色的胜任数据库的管理,但却不能开发出其他功能强大的Windows应用程序。

而VisualC++能将关系数据库与面向对象的编辑方法有机地结合起来,使得数据库的处理和应用程序开发都能很好的兼顾。

VisualC++是MICROSOFT公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。

“可视”的资源编辑器与MFC类以及应用向导程序,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。

应用VisualC++,可以很方便的建立数据库,做连接,绑订等,整个操作过程都是

“可视”的,便于设计和修改。

用它来进行一个高校成绩管理系统是简单易行的。

本文以一个学习者的身份,从一些数据库概念,VC++的数据连接方式等基本的知识,至数据库的设计分析以及实现都有细致的阐述。

其中主要介绍了ODBC数据库编辑的基本方法和过程,包括创建数据库作为数据源并在操作系统中通过ODBC注册该数据源,用向导AppWizard创建基本的数据库应用程序框架,控件的添加,界面的设计与实现,数据库功能的编辑。

最后还有整个高校成绩管理系统实现的全部源代码。

由于本人水平有限,本文中如有一些错误或不成熟的地方,请各位老师和同学提出并指正。

另外还要感谢通信实验室的高理老师,老师和通信工程专业的李嘉华同学,史宇明同学和李小同学在我的整个课程设计的过程中给与的热心帮助和支持。

 

注:

完成VC++数据库——高校成绩管理系统制作的硬件要求。

操作系统Windows98以上。

计算机386以上的PC,其配置如下:

4MB内存

SVGA(分辨率800*600)

10MB可用的硬盘空间。

2项目的设计与要求

2.1项目设计需求

要通过ODBC的数据库编程来完成高校成绩管理系统。

首先,该程序能为管理员提供高校成绩管理平台,要使的管理员方便的对关于学生的一些数据进行处理。

然后还要能为学生提供基于Web的注册和查询功能。

ODBC可以实现应用程序与数据源的无关联性,用户只要安装数据库驱动程序,就可以注册登陆多种数据源。

高校成绩管理程序的功能要求如下:

1)用户登陆身份认证(管理员或学生)

2)管理员可以对数据进行增加,删除和修改;

3)管理员根据数据表的不同字段进行滚动显示,查询,排序和统计分析;

4)学生可以通过Web浏览器查询成绩;

2.2方案设计

从应用程序的界面和功能出发,有如下两种设计方案:

5)简单型SDI应用程序结构。

在文档窗口中用MSFlexGrid控件来显示数据库的内容。

菜单和工具栏上分别提供相应的命令,如增加记录,删除记录和修改记录等。

用户选择这些命令时将相应的弹出对话框。

6)切分窗口型界面。

将SDI的文档窗口分为左右两个窗格,左边窗格显示的数据库的内容,右边窗格显示的常用操作界面。

除了增,删,改数据记录之外,还有查询和排序的功能。

这样,用户不必打开菜单就可以在右边的窗格中直接进行操作,增加了程序的友善性,当然程序设计的难度也增大。

本文以切分窗口型的方案说明程序实现过程。

包括数据库设计,功能模块设计,和界面设计等内容。

2.3功能模块设计。

1)服务器端程序设计。

A.增加记录功能。

在切分窗口中的右边窗格中,提供用户输入界面,单击“增加”按钮,向数据库添加记录,同时右边窗格中的“记录号”编辑框中显示出刚刚添加的记录号,而且自动更新左边窗格显示的内容。

B.修改记录功能。

当用户在切分窗口中的左边窗格中选定某一项记录所在的行时,右边窗格中的“纪录号”和记录内容就能及时更新。

当用户调整纪录号是,相应的记录内容应及时更新,而且在左边窗格对应的记录行上给予标明。

只有用户更改记录内容后,才应许用户用修改按钮进行修改,同时自动更新左边窗格中的显示的内容。

C.删除记录功能。

当拥护单击删除按钮后,弹出消息对话框,询问用户是否真的删除,以免用户的误删除操作。

一旦用户删除当前记录后,左,右窗格显示的内容将自动更新。

D.排序功能。

任何时候,当用户选中某个排序条件后,再单击(排序)按钮进行排序,并自动更新左右窗格显示的内容。

若用户选中某个排序条件的单选框后进行排序,以提高在记录比较多时,交互操作的响应速度。

E.用户管理与权限控制。

2)客户端程序设计

F.学号确认与权限控制。

G.成绩查询。

7)界面的设计。

界面的设计除了要满足相应的操作要求以外,还应考虑到以下四个方面的内容:

A.界面的简洁性

B.界面部件的相关性

C.界面操作的多样性

D.界面的美学性要求。

2.4相关类的功能。

VisualC++的MFC基类库定义了几个数据库类。

在利用ODBC编程是,经常要使用到CDatabase(数据库类)、CrecordSet(记录集类)和CrecordView(可视记录集类)。

CDatabase类对象提供了对数据源连接功能,通过它可以对数据源进行操作。

CrecordSet类对象提供了从数据源中提取记录集的功能。

CrecordSet对象通常用于两种形式:

动态行集((Dynasets)和快照集(snapshots).动态行集能保持与其他用户所做的更改保持同步。

快照集则是数据的一个静态试图。

每一种形式在记录集被打开是都提供一组记录,所不同的是当在一个动态行集里滚动到一条记录时,由其他用户或是应用程序中的其记录集对该记录所做的更改会相应的显示出来。

CrecordView类对象提供了数据源中形成视图的功能。

这个视图是直接连到一个CrecordSet对象的表视图。

 

2.5具体数据库的分析

一:

需求分析

主要功能:

按时间记录一个或多个年级学生的学习成绩,并且完成,统计查询,动态管理的功能.

1.创建班级:

删除班级

2.科目调整,增加或删除某班的科目

年级成绩查询:

学生信息学号,姓名,科目,平均成绩,总成绩科目汇总信息科目总成绩,平均成绩,及格人数,优秀人数

3.基础表信息保存:

科目表,任课老师表

4.高校高校高校高校高校高校成绩表保存:

学号,姓名,科目,

约束条件:

一个老师可教授多门可,一门课可以有多个带课老师

二:

数据库分析

基本信息表:

1.科目表(subject):

科目编号科目名称在用

2.教师表(teacher):

教师编号教师名称在职

3.年级表(Grade):

年级编号年级名称在用

4班级表(class):

班级编号班级名称年级编号在用

 

5学生表(student):

学号姓名班级编号毕业

 

6.学期表(Term):

学期编号,开始日期结束日期如98-0198年第1学期

7.考试信息(exam):

考试序号,日期学期编号

 

8.考试班级(examclass):

编号考试序号,班级,班级平均成绩,班级总成绩

 

9.考生表(examStudent):

考生编号考试序号学号总成绩平均成绩

 

10.考生科目表(examSubject):

编号考生编号考试序号学号考试科目成绩

 

对应关系:

11.教师授课表(SubjectTeacher):

编号教师编号课程编号学期编号

 

12.班级课程表(SubjectClass):

编号班级编号课程编号

 

13.用户权限表(User):

编号用户名密码权限

 

完成了数据库的逻辑图后,就可以开始对数据库进行设计和编辑了

3数据库的设计与实现

ODBC是一种使用SQL的程序设计接口。

使用ODBC能使用户编写数据库应用程序容易,简单,避免了与数据源相连接的复杂性。

在VisualC++中,MFC的ODBC数据库类CDatabase(数据库类),Crecordset(记录集类)和CrecordView(记录视图类)更为用户管理数据库提供了切实可行的解决方案。

3.1MFC的ODBC过程。

用MFCAppwizard创建一个数据库处理的SDI/MDI程序,只需在向导的第二步中选中“Databaseviewwithoutfilesupport”或“Databaseviewwithfilesupport”即可。

当然,在创建之前预先构造好一个数据库,然后进行ODBC的数据源定义。

1)设计数据库

数据库表与表之间的关系构成了一个数据库。

用MicrosoftAccess创建一个数据库

Student.mdb,以下是基本信息输入栏。

学生基本消息表结构

序号字段名称数据类型字段大小小数位字段含义

1StudentId文本6学号

4.Name文本8姓名

5.Sex文本2性别

6.Class文本10班级

学生选课表结构

序号字段名称数据类型字段大小小数位字段含义

1StudentId文本6学号

2CourseName数字整型自动课程号

课程消息表结构

序号字段名称数据类型字段大小小数位字段含义

1CourseId数字整型自动课程号

2CourseName文本8课程名

3CreditHour数字整型自动学分

4Time数字整型自动学时

高校高校高校高校高校高校成绩表结构

序号字段名称数据类型字段大小小数位字段含义

1StudentId文本6学号

2CourseId数字整型自动课程号

3Score数字整型自动成绩

教师基本消息表结构

序号字段名称数据类型字段大小小数位字段含义

1TeacherId文本6教师编号

2Name文本8姓名

3Sex文本2性别

4CoureName文本10课程号

年级信息表

序号字段名称数据类型字段大小小数位字段含义

1GradeId数字6年级编号

2GradeName文本8年级名称

学期信息表

序号字段名称数据类型字段大小小数位字段含义

1TrueId数字6学期编号

2TrueName文本8学期名称

3.2定义ODBC的数据源。

在安装VisualC++的同时也会装上ODBC程序。

但它不是出现在VisualC++的程序组中,而是在系统的“控制面板”中,如图所示。

双击ODBC图标(在图中已圈定),进入ODBC数据源管理器。

在这里用户可以设置ODBC数据源的一些信息,其中的“用户DSN”页面是用户定义自己在本地计算机使用的数据源名(DSN),如图所示。

3.1WindowsXP中“控制面板”的管理工具

3.2ODBC数据源管理器

 

定义用户的DSN的过程如下。

1)单击(添加)按钮,弹出有一驱动程序列表的“创建新数据源”对话框,如上图。

2)在对话框中选择要添加用户数据源的驱动程序,这里选择“MicrosoftAccessDriver”.单击(完成)按钮,进入特定驱动程序的安装对话框。

3)在对话框中,单击(选取)按钮将前面创建的数据库调入,如下图。

3.3ODBCAccess安装对话框

 

4)单击(确定)按钮,刚才创建的用户数据源被添加在“ODBC数据源管理器”的“用户数据源”列表中.

 

3.4用户数据源列表

3.3MFCAppWizard的创建

用MFCAppWizard(exe)可容易地创建一个支持数据库的SDI/MDI应用程序,过程如下。

1)用MFCAppWizard(exe)创建一个单文档应用程序Ex_ODBC.

2)在向导的第二步对话框中加入数据库的支持,如图3.5

3)选中“Databaseviewwithfilesupport”项,单击(DataSource)按钮,弹出“DatabaseOptions”对话框。

4)从中选择ODBC的数据源“mydatabaseforvc”,单击(OK)按钮,弹出“SelectDatabaseTables”对话框,从中选择要使用的表。

 

3.5向导的第二步对话框

5)单击(OK)按钮,又回到了向导的第二步对话框。

保留默认设置,单击(Finish)按钮。

3.4浏览记录及添加控件。

在上面的Ex_ODBC中,MFC为用户自动创建了用于浏览数据库表记录的工具按钮和相应的“记录”选单项。

若用户选择这些浏览记录命令,系统会自动调用相应的函数来移动数据库表的当前位置。

若在表单视图CEx_ODBCView中添加控件并与表的字段相关联,就可以根据表的当前记录位置显示相应的数据。

其步骤如下:

1)将前面的单文档项目Ex_ODBC调入。

2)切换到项目工作区窗口的ResourceView页面,打开用于表单视图CEx_ODBCView的对话框资源IDD_EX_ODBC_FORM.

3)选择“View”选单的“ClassWizard”命令或按快捷键Ctrl+W,弹出ClassWizard对话框,切换到MemberVariables页面,在Classname框中选择CEx_ODBCView,为上述控件添加相关的数据成员。

与以往添加的数据成员不同的是,这里添加的数据成员都是由系统自动定义的,并与数据库字段相关联。

3.5添加资源以及控件。

1)把编辑控件添加到IDDStudentScoreFORM模板上。

使用ID:

IDC_ID,IDC_NAME和IDC_ROOM,[

2)用ClassWizard把编辑控件连接到记录数据集成员上。

如果要添加数据成员,单击MemberVariables选项卡,并在编辑框中选择与每一个变量对应的ID号。

然后单击AddVariable按钮,并通过单击在MemberVariableName下拉列表框中的箭头来显示变量的列表。

选择适当的变量。

具体是在“AddMemberVariable”对话框进行操作。

3)然后编辑并测试StudentScore应用程序。

用户可以使用工具栏按钮对学生记录进行顺利浏览。

4)备份数据库。

现在,用户将要采用一定的步骤来添加,修改或删除记录。

最好先把STDREG32.MDB文件做一个备份。

这样,当用户删除了所有的记录以后还可以使用。

5)增加菜单命令。

在IDR_MAINFRAME菜单的Score弹出菜单中添加项。

并通过ClassWizard把这些菜单命令映射到相应的视图类成员中。

如其中一处。

菜单命令命令ID命令控制函数更新命令控制函数

AddRecordID_RECORD_ADDOnRecordAdd

ClearFieldsID_RECORD_CLEARFIELDSOnRecordClearfields

DeleteRecordID_RECORD_DELETEOnRecordDeleteOnUpdateRecordDelete

UpdataRecordID_RECORD_UPDATEOnRecordUpdateOnUpdateRecordUpdate

3.6代码编写

3.6.1CstudentScoreSet记录集类设计。

用ClassWizard来创建Cstud

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1