第一章 绪 论
1.1引 言
人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也不过10年的时间。但是,计算机和网络对社会的影响已经迅速扩大,甚至在改变人们的生活。特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。正像著名的未来学家尼葛洛庞帝(1997)所说的:“数字不再只和计算有关,它决定我们的生存。”科学技术是第一生产力,是最先进的生产力。现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。目前,在社会各个方面都呈现出了与工业社会显著不同的特点。网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生极大的冲击。使人们感受到技术发展的脉搏和信息时代前进的步伐。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生成绩管理系统。
本系统主要包括系统设置、学生信息查询、学生信息录入、管理、浏览、打印和帮助七部分。其功能主要有:
1、有关学生成绩等信息的输入,包括输入学生基本信息、课程和成绩等。 2、学生信息的查询,包括查询学生基本信息、已学课程和成绩等。 3、学生信息的修改。
4、学生信息管理信息的输入,包括输入课程设置、成绩等。 5、学生成绩管理信息的查询。 6、学生成绩管理信息的修改。 7、学生课程的设置和修改。
学生成绩管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
1
1.2 开发目的、背景与意义
几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个大学,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但手工管理具有效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等缺点。我校尽管部分学院或系已开出学生成绩管理系统,但开发的系统不具有通用性,所以我想借本次毕业设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用学生成绩管理系统。
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
以上各类信息目前还处于手工或半手工的管理状态,效率低,可靠性差。配备电脑,但实际利用率不高,如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极的作用。另外随着计算机网络的持续发展,无论是工作、学习还是生活,将会越来越多地融入到流动的比特中,人们的工作节奏在不断加快,需要快捷的信息来源,并对此作出反应。因此,无论是从目前的现状来看,还是面向未来,一个功能完备的学校信息管理系统的开发都非常有必要。
本人作为学习计算机专业的一员,对系统的需求作了较深入的认识,同时也掌握了一定的系统开发理论,借这次毕业设计的契机,一方面利用自己的所学小刀试牛,另一方面通过这次实践必将提升自身对软件工程、数据库、程序设计等理论的认识,积累系统开发的经验。
1.3 系统概述
学生成绩管理系统能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的。本系统具有较强的实用性和先进性、规范管理、快速查询等特点。
1.4 开发工具简介
本系统的设计是在Windows XP简体中文版操作系统环境下,使用MS Visual Basic 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:
2
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
1.5 Visual Basic 系统在程序应用中的几个常用名词
Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下: 1)视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。
2)对象 (Object)
对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。
3)属性 (Properties)
属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。
4)事件 (Events)
事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。
5)方法 (Method)
方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
6)过程 (Procedure)
过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。 7)模块 (Module)
模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和帮助。
3
第2章 系统分析
本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生信息管理、学生成绩管理、学生课程管理等多种功能,因而具有较强的实用性。
2.1 系统及需求分析
2.1.1 系统需求
通过调查,要求系统需要有以下功能: [1] 要求有良好的人机交互界面;
[2] 由于该系统使用对象多,要求有较好的权限管理; [3] 原始数据修改简单方便,支持多条件修改 [4] 方便的数据查询,支持多条件查询;
[5] 在相应的权限下,删除数据方便,数据稳定性好; [6] 数据计算自动完成,尽量减少人工干预。 2.1.2需求分析
目前计算机管理在日常生活中的地位变得越来越重要。它能够代替人做各种重复、繁琐的劳动,并且拥有操作简单、可信度好、不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。学生信息查询是每个学校必须面临的问题,所以,如何开发一个应用简单、界面友好、容易操作、数据安全性好的管理系统就成为非常重要的技术问题。
学生成绩管理系统的设计与实现,是在班级学生处数据库基础上,只对学生成绩信息进行管理的一个系统,是对学校教务管理系统的补充,主要是针对辅导员的需要,主要包括三个用户群:学生、管理员。
学生,主要的需求有成绩查询、个人信息查询、密码修改。 教师,主要的需求有个人信息管理、密码修改、学生查询、。
管理员,主要的需求有学生成绩管理、学生信息管理、学生信息的一致性维护。
2.2系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:系统设置、数据录入
4
数据管理、数据浏览、数据查询、数据打印、帮助。
2.3 可行性分析
由于本系统管理的对象单一,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
2.3.1经济可行性分析
随着科学技术的不断发展与创新,计算机作用的日益突显,计算机软件成为人们解决问题的一个有效手段,当然,它的作用也越来越重要。在当今信息时代,国民经济和国防建设、社会发展、人民生活都离不开软件,软件也无处不在。
软件产业也是一个新兴产业,尽管起步晚,但是发展迅速,已经成为增长最快的产业,是具有高投入/高产出、无污染、低能耗的绿色产业。学生信息查询系统是一个基于教务处数据库的一个管理系统,对已经使用的类似的系统进调查分析、类比,本课题具有的特点:开发工作量小,可以有两个人合作开发或一个人独立开发,开发周期短,有熟练的开发人员一个月就可以完成系统的开发与测试。
2.3.2技术可行性分析
从技术方面来说,Visual Basic是一个企业级的、面向对象的快速应用开发工具,是数据库最优秀的开发工具之一。Visual Basic完全支持面向对象的开发,它拥有多种数据库接口,可以非常方便地连接的各种数据源,再加之其专利产品Data Window(数据窗口),通过SQL语句即可轻松地查询和更新后台数据库中的数据。
Visual Basic基于组件的开发增强了面向对象的技术,他提供一个更有效的封装、管理、重用和扩展企业规则和处理的高层途径。在数据操作方面,选择灵活、易用的Microsoft Access数据源。
2.4系统流程设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
5
图2.1系统流程设计图
2.5功能分布图分析
功能层次图如下:
图2.2功能分布图
6
第三章系统数据结构设计
3.1数据库设计
数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于Microsoft Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Microsoft Access作为后台数据库。使用Microsoft Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接就可以,这样,为程序的平滑扩展提供了非常有力的条件。 3.1.1各表的物理结构如下
表3.1student图
字段名称 字段长度 类型 Id Name Sex Nationality Birth political_party family_place Residence indate 3 10 2 10 50 4 50 50 50
表3.2lessons图
文本 文本 文本 文本 文本 文本 文本 文本 文本 字段名称 字段长度 类型 Id LessonName Term Teacher Hours LessonType 3 50 50 50 50 50
表3.3scores图
文本 文本 文本 文本 文本 文本 字段名称 字段长度 类型 Id Name Vb Asp Net C++ 3 50 长整型 长整型 长整型 长整型 7
文本 文本 数字 数字 数字 数字 Swim 3d English Application Dreamweaver 长整型 长整型 长整型 长整型 长整型
表3.4name图
字段名称 字段长度 文本 数字 数字 数字 数字 类型 Username Password
6 6 文本 文本
8
第四章.总体设计
4.1系统的功能简介
本系统的主要任务是实现对学生的信息管理,成绩管理,课程管理及相关查询。其主要功能包括:
1)学生信息管理功能
修改学生信息,包括:编号,姓名,性别,出生日期,民族,家庭住址和籍贯等。
删除学生,当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。
2)学生成绩管理功能
对学生各科的成绩进行修改等。 3)学生课程管理功能
对课程的编号,名称,学期和学时等 4)浏览功能
浏览学生信息表,学生课程表,学生成绩表。 5)学生信息录入功能
添加学生,添加新的学生信息,包括:编号,姓名,性别,出生日期,民族,家庭住址和籍贯等。
6)学生课程录入功能
添加新的课程,包括:课程的编号,名称,学期和学时等。 7)学生成绩录入功能
分数录入,录入各科目的成绩。 8)打印报表功能
打印学生信息表,学生课程表,学生成绩表。
4.2系统的开发目标
通过运用计算机建立本系统,希望能够使辅导员及时了解学生信息,大幅度提高工作效率,并为各种用户提供信息的快速查询与方便管理,并能结合当时的最新数据进行统计。这样,对辅导员来说,也明显提高了效率,对作出正确判断提供了依据。
4.3系统设计的要求
用户,应用程序登陆时,可以使用两种身份:管理员,其权限最大;学生,其权限次之。
权限,学生是没有权限修改、添加、删除数据库中得除密码以外的任何信息(学生信息、成绩信息、课程信息等),数据的更新由管理员来管理。
4.4数据运行的环境
本系统采用的是Microsoft Access数据库,它是对数据库进行操作的应用程序,因此需要有较好的配置。所需要的硬件配置如下:Pentium 800以上;10GB
9
以上硬盘;不少于128MB内存。另外,开发工具VB所需硬件配置如下:CELERON以上的CPU,128M以上的内存,10G以上的硬盘。
为了能够使本系统快速方便准确的操作,通过比较与权衡,本系统所采用的硬件配置如下:显示器一台(分辨率为1024*768),硬盘为80G,内存为512M,CPU Pentium2.0G。软件配置如下:操作系统包括WinXP/Win2000/WinNT4/WinMe。
4.5
项目模块规划
学生成绩管理系统是一个典型的数据库应用程序,主要有七个模块:系统设置,数据录入,数据管理,数据浏览,数据查询,数据打印和帮助。下面将对各个模块实现的功能做简要的介绍。 4.5.1系统设置模块
该模块的主要功能是添加用户,修改密码,系统注销和退出系统。 4.5.2数据录入模块
该模块的主要功能是向学生信息表,学生课程表,学生成绩表录入数据。 4.5.3数据管理模块
该模块的主要功能是对学生信息表,学生课程表,学生成绩表的数据进行管理。
4.5.4数据浏览模块
该模块的主要功能是浏览学生信息表,学生课程表,学生成绩表。 4.5.5数据查询模块
该模块的主要功能是按照学生的编号或姓名进行查询。 4.5.6数据打印模块
该模块的主要功能是打印学生信息表,学生课程表,学生成绩表 4.5.7帮助模块
可以查看学生成绩管理系统的详细信息。
10
第5章 系统详细设计
5.1系统登陆界面
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在name表中,本系统根据不同的用户而设置了不同的权限。
图5.1登录界面图
5.2系统主界面
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有7个功能菜单和若干个子菜单(功能模块),从而实现了本系统从用户信息管理,课程信息管理,成绩信息管理具体功能。
表5.1文本编辑器中菜单控件的属性设置及说明图 标题 名称 说明 系统设置(&F) xtsz 主菜单项 添加用户 tjyh 子菜单项 修改密码 xgmm 子菜单项 系统注销 xtzx 子菜单项 退出系统 tcxt 子菜单项 数据录入 sjlr 主菜单项 学生信息表 xxb 子菜单项 学生课程表 kcb 子菜单项 学生成绩表 cjb 子菜单项 数据管理(&V) sjgl 主菜单项 11
学生信息表 xsxxb 子菜单项 学生课程表 xskcb 子菜单项 学生成绩表 xscjb 子菜单项 数据浏览(&C) sjll 主菜单项 浏览 liulan 子菜单项 数据查询(&R) sjcx 主菜单项 学生信息表 xsxx 子菜单项 学生课程表 xskc 子菜单项 学生成绩表 xscj 子菜单项 数据打印(&U) sjdy 主菜单项 学生信息表 dyxxb 子菜单项 学生课程表 dykcb 子菜单项 学生成绩表 dycjb 子菜单项 帮助(&H) bz 主菜单项 详细信息 xxxx 子菜单项 工具栏中按钮代码如下: Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1
Call xxxx_Click Case 2
Call xgmm_Click Case 3
Call xskc_Click Case 4
Call liulan_Click Case 5
Call xsxx_Click Case 6
Call xscc_Click End Select End Sub
主窗体的界面如下:
12
图5.2主界面图
代码如下:
Dim b1 As Integer
Private Sub ckb_Click() Form5.Show
Form5.Width = 9600 Form5.Height = 6800 End Sub
Private Sub dycjb_Click() DataReport2.Show End Sub
Private Sub dykcb_Click() DataReport3.Show End Sub
Private Sub dyxxb_Click() DataReport1.Show End Sub
Private Sub kcb_Click() Form4.Show
Form4.Width = 8565 Form4.Height = 6400 End Sub
Private Sub liulan_Click() Form1.Show
Form1.Width = 8565 Form1.Height = 6400 End Sub
Private Sub tcxt_Click() End
13
End Sub
Private Sub tjyh_Click() form13.Show
form13.Width = 6780 form13.Height = 5055 End Sub
Private Sub xgmm_Click() form14.Show
form14.Width = 6780 form14.Height = 5055 End Sub
Private Sub xscc_Click() Form8.Show
Form8.Width = 8565 Form8.Height = 6400 End Sub
Private Sub xscjb_Click() Form11.Show End Sub
Private Sub xskc_Click() Form9.Show
Form9.Width = 8565 Form9.Height = 6400 End Sub
Private Sub xskcb_Click() form12.Show
form12.Width = 8565 form12.Height = 6400 End Sub
Private Sub xsxx_Click() Form7.Show
Form7.Width = 8565 Form7.Height = 6400 End Sub
Private Sub xsxxb_Click() Form10.Show
Form10.Width = 8385 Form10.Height = 6400 End Sub
Private Sub xxb_Click() Form6.Show
Form6.Width = 8565 Form6.Height = 6400 End Sub
14
Private Sub xxxx_Click() Form2.Show
Form2.Width = 6050 Form2.Height = 5000 End Sub
5.3系统设置模块
5.3.1添加用户模块
本模块是实现系统的添加功能,在输入密码后必须重新输入确认密码,否则添加失败.
图5.3添加用户图
代码如下:
Private Sub Command1_Click() Static aa As Integer
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find \"username='\" + Combo1.Text + \"'\" Dim bb As String
bb = Adodc1.Recordset.Fields(1) If Text1.Text = bb Then
If Combo1.Text <> \"孙付超\" Then MDIForm1.tjyh.Enabled = False MDIForm1.xxb.Enabled = False MDIForm1.kcb.Enabled = False MDIForm1.ckb.Enabled = False MDIForm1.xsxxb.Enabled = False MDIForm1.xskcb.Enabled = False MDIForm1.xscjb.Enabled = False End If
MDIForm1.Show
15
Unload Me Else
If aa < 3 Then
MsgBox \"密码输入错误,是否重新输入\系统提示\" Text1.Text = \"\" Text1.SetFocus aa = aa + 1 Else
Text1.Enabled = False
MsgBox \"错误不得超过3次,请退出!\" End End If End If End Sub
Private Sub Command2_Click() Unload Me End Sub
Private Sub Form_Activate() Text1.SetFocus End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + App.Path + \"\\student.mdb;Persist Security Info=False\" Adodc1.RecordSource = \"name\" Adodc1.Refresh
Adodc1.Recordset.MoveLast Adodc1.Recordset.MoveFirst Dim aa As Integer
aa = Adodc1.Recordset.RecordCount Dim i As Integer
Combo1.Text = Adodc1.Recordset.Fields(0) For i = 1 To aa
Combo1.AddItem Adodc1.Recordset.Fields(0) Adodc1.Recordset.MoveNext Next i End Sub
Private Sub Timer1_Timer()
Label1.Left = Label1.Left + 50
If Label1.Left >= login.Width Then Label1.Left = -Label1.Width - 50 End If End Sub
5.3.2修改密码模块
16
本系统是用户的安全设置,实现各种用户对密码的修改,修改完毕后单击确认即可保存新的密码
图5.4修改密码图
5.3.3退出系统模块
本模块实现单击标题栏退出时,出现消息对话框:
图5.5退出系统图
代码如下:
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode Integer)
Dim aa As Integer If b1 <> 1 Then
aa = MsgBox(\"是否真的退出程序\系统提示\") If aa = 6 Then Unload Me Else
Cancel = 1 End If End If End Sub
5.3.4系统注销模块
17
As 本模块实现系统注销时,出现消息对话框:
图5.6注销系统图
代码如下:
Private Sub xtzx_Click() Dim aa As Integer
aa = MsgBox(\"是否真的注销\系统提示\") If aa = 6 Then b1 = 1
Unload MDIForm1 login.Show Else
Cancel = 1 End If End Sub
5.4数据录入模块
5.4.1学生信息数据录入
实现向学生信息表中录入新的信息,包括:学号,姓名,性别,出生日期,家庭住址等信息。
图5.7学生信息数据录入图
代码如下:
Private Sub Command1_Click()
18
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(0) = Text2.Text Adodc1.Recordset.Fields(1) = Text3.Text Adodc1.Recordset.Fields(2) = Text4.Text Adodc1.Recordset.Fields(3) = Text5.Text Adodc1.Recordset.Fields(4) = Text6.Text Adodc1.Recordset.Fields(5) = Text7.Text Adodc1.Recordset.Fields(6) = Text8.Text Adodc1.Recordset.Fields(7) = Text9.Text Adodc1.Recordset.Fields(8) = Text10.Text Adodc1.Recordset.Update Text2.Text = \"\" Text3.Text = \"\" Text4.Text = \"\" Text5.Text = \"\" Text6.Text = \"\" Text7.Text = \"\" Text8.Text = \"\" Text9.Text = \"\" Text10.Text = \"\" End Sub
Private Sub Command3_Click() Unload Me End Sub
Private Sub Command2_Click() Text2.Text = \"\" Text3.Text = \"\" Text4.Text = \"\" Text5.Text = \"\" Text6.Text = \"\" Text7.Text = \"\" Text8.Text = \"\" Text9.Text = \"\" Text10.Text = \"\" End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + App.Path + \"\\student.mdb;Persist Security Info=False\" Adodc1.RecordSource = \"student\" Adodc1.Refresh End Sub
5.4.2学生课程数据录入
实现向学生课程表中录入新的信息,包括:课程的编号,名称,学期和学时等信息。
19
图5.8学生课程数据录入图
5.4.3学生成绩数据录入
实现向学生成绩表中录入新的学生各科目的成绩。
图5.9学生成绩数据录入图
5.5数据管理模块
5.5.1学生信息管理
管理学生的学籍信息,主要的信息有:学号、姓名、性别、出生日期、、入学时间、家庭住址等信息。基本的功能包括:修改、、删除。基本操作为:按照Label控件内的文字提示进行修改学生的信息,修改完毕后单击“保存”按钮即可。
20
图5.10学生信息管理图
代码如下:
Private Sub Command1_Click() Adodc1.Recordset.MoveFirst
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8) End Sub
Private Sub Command2_Click() Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then MsgBox \"已到记录首!\"
Adodc1.Recordset.MoveFirst End If
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8)
21
End Sub
Private Sub Command3_Click() Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then MsgBox \"已到记录尾!\"
Adodc1.Recordset.MoveLast End If
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8) End Sub
Private Sub Command4_Click() Adodc1.Recordset.MoveLast
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8) End Sub
Private Sub Command6_Click() Text1.Locked = False Text2.Locked = False Text3.Locked = False Text4.Locked = False Text5.Locked = False Text6.Locked = False Text7.Locked = False Text8.Locked = False Text9.Locked = False
Command6.Enabled = False End Sub
Private Sub Command7_Click() Text1.Locked = True Text2.Locked = True
22
Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Text7.Locked = True Text8.Locked = True Text9.Locked = True
Command7.Enabled = False Command6.Enabled = True
Adodc1.Recordset.Fields(0) = Text1.Text Adodc1.Recordset.Fields(1) = Text2.Text Adodc1.Recordset.Fields(2) = Text3.Text Adodc1.Recordset.Fields(3) = Text4.Text Adodc1.Recordset.Fields(4) = Text5.Text Adodc1.Recordset.Fields(5) = Text6.Text Adodc1.Recordset.Fields(6) = Text7.Text Adodc1.Recordset.Fields(7) = Text8.Text Adodc1.Recordset.Fields(8) = Text9.Text Adodc1.Recordset.Update Adodc1.Recordset.MoveLast End Sub
Private Sub Command8_Click() Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8) End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + App.Path + \"\\student.mdb;Persist Security Info=False\" Adodc1.RecordSource = \"student\" Adodc1.Refresh
Adodc1.Recordset.MoveLast Adodc1.Recordset.MoveFirst
23
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) Text3.Text = Adodc1.Recordset.Fields(2) Text4.Text = Adodc1.Recordset.Fields(3) Text5.Text = Adodc1.Recordset.Fields(4) Text6.Text = Adodc1.Recordset.Fields(5) Text7.Text = Adodc1.Recordset.Fields(6) Text8.Text = Adodc1.Recordset.Fields(7) Text9.Text = Adodc1.Recordset.Fields(8) End Sub
5.5.2学生课程管理
功能是对课程信息进行管理,可以实现对学生的课程信息进行修改和删除。
图5.11学生课程管理图
5.5.3学生成绩管理
管理学生的成绩信息,主要是对学生的成绩信息进行,修改,删除等功能。基本操作是:首先,要进行选择性的操作(即选择,修改,删除),然后在下面的text控件中输入学生的信息,进而实现了成绩的修改,删除的功能。
图5.12学生成绩管理图
24
5.6数据浏览模块
可以通过combo控件选择用户需要浏览的表。可以浏览三个表:学生信息表,学生课程表学生成绩表和用户信息表。
图5.13浏览学生成绩图
图5.14浏览学生课程图
图5.15浏览学生成绩图
25
代码如下:
Private Sub Combo1_Click() Dim a1 As String
Select Case Combo1.Text Case \"学生信息表\" a1 = \"student\" Case \"学生课程表\" a1 = \"lessons\" Case \"学生成绩表\" a1 = \"scores\"
Case \"用户信息表\" a1 = \"name\" End Select
Adodc1.RecordSource = a1 Adodc1.Refresh End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + App.Path + \"\\student.mdb;Persist Security Info=False\" Adodc1.RecordSource = \"student\" Adodc1.Refresh DataGrid1.Row = 0 DataGrid1.Col = 0
DataGrid1.Text = \"001\" End Sub
5.7数据查询模块
5.7.1学生信息查询
主要功能是在学生信息表中按学号查询,按姓名查询和按民族查询。
按照combo控件内的文字提示进行输入学生的信息,输入完毕后单击“查询”按钮即可。
图5.16学生信息查询图
26
5.7.2学生课程查询
主要功能是对课程信息进行查询,包括按编号查询,按课程名称查询和按学时查询。
图5.17学生课程查询图
5.7.3学生成绩查询
主要功能是对学生成绩进行查询,包括按姓名查询和按学号查询。
图5.18学生成绩查询图
5.8数据打印模块
功能是可以打印学生信息表,学生课程表和学生成绩表。
27
图5.19学生信息报表图
5.9帮助模块
为了完善我们的系统,我们为您提供了帮助部分。
28
结 束 语
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生成绩管理系统是一套学校在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对Visual Basic 6.0的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
29
参 考 文 献
[1]伍俊良.《Visual Basic课程设计与系统开发案例》.清华大学出版社 [2]邹先霞.梁文健编著《Visual Basic课程设计教程》.冶金工业出版社 [3]周佩德.《数据库原理及应用》.电子工业出版社 [4]黄淼云.《VB6.0办公自动化编程》.国防工业出版社
30
致 谢
在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从指导老师身上学到了很多东西。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,指导老师几次审阅我的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务。
另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有同组的同学也给了我不少帮助,这里一并表示感谢。
31
因篇幅问题不能全部显示,请点此查看更多更全内容