1、河南工程学院毕业设计(论文) 1摘 要学生学籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:控件 窗体 域 河南工程学院毕业设计(论文) 2ABS
2、TRACTThe system of managing student file is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The late
3、r should make the application powerful and easily used. By looking up lots of datum, I selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a database. It can give you a short cut to build up a prototype of system application.
4、 The prototype could be modified and developed till users are satisfied with it. Keywords:ActiveX Form Field 河南工程学院毕业设计(论文) 3前 言学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件学籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科
5、学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中将以开发一套学生学籍管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。河南工程学院毕业设计(论文) 4第一章 系统概述11 开发背景111 当前趋势现代
6、教育技术特别是网络与多媒体技术的发展,对学习活动产生了具有深远意义的冲击,网络中的学习者必须是一个主动行为着的主体,人们可以选择或者设计适合其学习特点的信息采集、加工与重组方式,一种个性化的学习类型。该学籍管理系统采用多层架构的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持 Internet功能、远程访问功能,全部采用最先进的 B/S(浏览器/服务器) 模式来开发,支持有关学校信息交流、日常教学、教务管理等的各种应用,提供了一个基于校园内联网中支持各种类型的学校应用产品的服务平台和开发平台,基本目标是在学校内部和外部建立起顺畅的信息通道,让信息技术成为推动教育生产力的有力工
7、具,提高学校的管理水平和效率,同时充分利用全球的教育资源为学校的教育服务,克服了目前大部分学校的校园网建设只起到宣传作用的通病。112 用计算机管理学生学籍的意义 现在我国的中小学校中学籍的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力” ,我希望能用我四年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。归纳起来,好处大约有以下几点:1.可以存储历届的学生学籍,安全、高
8、效;2.只需一到二名学籍录入员即可操作系统,节省大量人力;3.可以迅速查到所需信息。 12 学籍管理系统概述121 开展该系统的原因由于现今的学籍管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学籍管理系统软件。 122 该工程的基本目标开发此学籍管理系统软件,以供教学人员及操作者进行学籍管理,方便操作者随时添加、查询、修改等。为了我们提高软件开发的能力,学习汉语编程的技巧,提高工作设计思想,通过本次的工程开发,开发小组成员与辅助老师,河南工程学院毕业设计(论文) 5公司的技师交流,能从中学习知识吸取经验,再技术和软件思想上同时得到
9、锻炼和提高,从而使总体水升到一个新的高度。13 开发环境以及开发工具介绍该软件是在 Windows 2000 Advanced Server + Visual Basic 6.0 + SQL Server 2000的环境下完成的。下面就对这些开发工具进行介绍:131 Visual Basic 6.0微软公司的 Visual Basic 6.0是 Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。利
10、用VISUAL BASIC 程序设计语言,可以很方便地设计出在 WINDOWS环境下运行的应用程序。故而,实现本系统 VB是一个相对较好的选择。1311 Visual Basic 的编程特点Visual Basic语言的出现为 Windows下的编程提出了一个新概念,利用Visual Basic的动态数据交换、对象的链接和嵌入、动态链接库、ActiveX 技术可以很方便地设计出功能强大的应用程序。利用 Visual Basic语言编程有以下几个特点:1 可视化程序设计在 Visual Basic中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面添加的代码真是少而又少,因为在设计图
11、形界面的过程中只需设置 ActiveX 控件的属性即可。2 强大的数据库和网络功能随着 Visual Basic 语言的向前发展,它在数据库和网络方面的功能优势就愈加明显,利用 Visual Basic 中的 ODBC开放式的数据库访问技术可以很方便地开发出自己的数据库应用程序;利用 Visual Basic 自带的可视化数据管理器和报表生成器,完全可以在 Visual Basic就完成数据库的开发工作。3其它特性在 Visual Basic以前的版本中,由于仍然摆脱不了解释执行的代码运行机制,所以在相当的程度上制约了 Visual Basic 的发展。从 Visual Basic5.0版本开
12、始,在 Visual Basic 中制作的应用程序都改变为编译执行,使得 Visual Basic的代码效率有了很大的提高,同时执行的速度 也加快了解 30%(同 Visual Basic4.0相比)。当然在 Visual Basic 中还有其它特性,例如: 面向对象的编程语言; 结构化程序设计;河南工程学院毕业设计(论文) 6 事件驱动的程序设计:在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响不同的事件时执行不同的代码片段
13、。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。 支持动态链接库; 应用程序之间的资源共享。 1312 VB 支持的数据库系统VB支持对多格式的数据库的访问和维护,无论是 Access还是 Foxpro中创建的数据库,都可以用 VB打开,对其进行查询、修改和删除等操作。事实上,VB几乎支持对市面上所有数据库的访问。VB可以访问的数据库可以简单的分为三类,即:Microsoft Access格式数据库,外部数据库和 ODBC数据库。VB 对多种数据库格式的支持
14、,大大的增强了开发数据库应用程序的能力。1313 Jet 数据库引擎Microsoft引擎为 Visual Basic与数据库的接口提供了基本的方法。Jet引擎被 Visual Basic,Microsoft Access和其他 Microsoft产品共享。Jet 数据库引擎提供了多种功能,Jet 的数据定义功能支持对表、索引、查询的创建、修改和删除。Jet 以主键标和表间引用完整性的形式支持数据完整性。对于数据操纵,Jet 支持使用 SQL。SQL 提供用单独语句对基于用户定义标准的记录组进行检索、添加、删除或更新的方法。Jet也提供对安全功能的支持。这种功能让开发者指定用户标识符和口令,他
15、们必须在用户访问数据库之前给出。Jet 也支持使用许可,或是对单个表和查询的访问级别(例如,只读或读写可访问性) 。这是的数据库管理员要对每一位用户或用户组分配对数据库不同特定访问。除了数据操作和数据定义任务外,也可用 Jet引擎来执行其他的任务。Jet还具备在数据库开发工作中所需的其他功能,这些功能包括:数据库修复,数据库压缩(以使消除不同的空间)和重新索引。1314 数据库开发中的三大工具Visual Basic在数据库应用程序的开发领域中,提供包含数据管理(DataManager) ,数据控件(Data Control)以及数据编程对象(数据访问对河南工程学院毕业设计(论文) 7象(DA
16、O) 、远程数据对象(RDO)和 ActiveX数据对象(ADO) )等功能强大的工具,协助设计人员轻松的连接数据库文件,并访问其中的数据,在功能方面与其他一些专业数据库软件(如 FoxPro,Micosoft Access 等)不相上下。数据管理器(Data Manager)是 Visual Basical已有的老成员之一,拓本盛举有的 Jet数据库引擎(Database Engine)可以帮助 VB程序元件立即维护数据库内容,并可通过输入查询或查找数据库信息,而不必再通过其他数据库软件另外去设计数据库。数据控件是 VB所提供的基本控件成员之一。它使得设计者省下一堆程序代码编写的工作,能够轻
17、松的设计及维护数据库内容。数据控件可以通过一些属性的设置去链接某个数据库文件,但是它本身并无法显示数据库各个记录的内容,必须在搭配其他具有数据感知(Data Aware)功能的控件对应并显示一个字段内容,以方便地进行记录的浏览及编辑工作。VB提供的数据访问对象(Data Access Object;DAO)让程序设计者拥有更大的发挥空间。借助程序代码编写,直接控制 Jet数据库引擎,配合数据库控件,能够开发出更具弹性且高效率的数据应用程序。RDO是处理远程数据库的一些专门需要的对象集合。使用 RDO可以不用本地的查询机就能访问 ODBC数据源,这无疑将大大提高应用程序的性能。ADO是 VB6。
18、0 中新增的对象,它是一个更简单的对象模型,它更好的集成了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代DAO和 RDO。ADO 更易于使用。我们在本系统中利用数据管理器创建了数据库及数据库表,并采用了 ADO数据访问技术。132 SQL Server 2000 简介SQL Server 2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超 Oracle数据库的趋势。用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与 Windows NT/2000平台紧密集成,具有完全的 Web功能。通过对高端硬件平台、网络和存储技术的支持,为 WEB站
19、和企业的应用最大限度地提供了可扩展性和高可靠性,能在 Internet商业领域快速建立并应用。此外,还增强了安全性,保护防火墙内外的数据。支持基于角色的安全并拥有安全审计工具。在经历了 SQL Server 6.5和 7.0两个版本的尝试后,微软公司终于开始了大规模的业务。记得在以前各种关于 SQL Server的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。其实这是一种误解。在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。有了强大的性能和功能支河南工程学院
20、毕业设计(论文) 8持,再配合其一向为人称道的易用性,SQL Server可以说成为了开发者手中的一柄利器!另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用 Access作为数据库平台的案例,并展开相关的内容。这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。SQL Server 2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比 Access大。另外,SQL Server 2000可以兼顾小、中、大规模的应用,有着远远比 Access强大的伸缩性。1.3.2.1 SQL Server数据库特点概括起来,SQL Server 2000 数据
21、库管理系统具有以下主要特点。1丰富的图形管理工具,使系统管理、操作更为直观方便。SQL Server企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理 SQL Server服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQL Server 2000还提供了 SQL事件探查器、SQL 查询分析器、SQL Server服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。2动态自动管理和优化功能。即使 SQL Server数据库管理员不做任何设置,SQL Server也能够在运行过程中
22、根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。3充分的 Internet技术支持。Internet 网络发展到今天已经成为一条重要的信息发布渠道,SQL Server增强了对 Internet技术支持,它除保留了前期版本中的数据库 Web出版工具“Web 助手”外,还增强了对 XML和 HTTP技术的支持,这使得电子商务系统能够通过 XML等访问 SQL Server数据库系统,也扩展了 SQL Server在数据挖掘和分析服务领域的应用。4丰富的编程接口工具,使用户开发 SQL Server数据库应用程序更加灵活。SQL Server提供了 Transact-S
23、QL、DB-Library for C、嵌入式SQL(ESQL)等开发工具,Transact-SQL 与工业标准 SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQL Server 2000还支持 ODBC、OLE DB、ADO 规范,可以使用 ODBC、OLE DB、ADO 接口访问 SQL Server数据库。5具有很好的伸缩性和可靠性。SQL Server 2000既能运行在 Windows桌面操作系统下,又可运行在服务器操作系统(包括 Windows NT和 Windows 2000)下;既能运行在单 CPU计算机上,又能运行在对称多处理系统下。所以,它具有
24、很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。河南工程学院毕业设计(论文) 96简单的管理方式。SQL Server 2000与 Microsoft Windows 2000有机集成,所以可以使用 Windows 2000的活动目录(Active Directory)功能对SQL Server进行集中管理,大大简化大型企业中的系统管理工作。此外,与Windows 2000的集成还使 SQL Server能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器、内存管理和异步 I/O等) ,从而增强了 SQL Server数据库系统的功能,并且只需要占
25、用很少的系统资源。133 ADO 对象概述ADO对象是针对当前微软的软件所支持的数据进行操作的最为有效、简单并且功能强大的方法。它可以把大部分数据源可编程的属性直接扩展到 Active Server上,主要含有 Connection、Recordset 与 Command三种对象。其中:Connection对象主要负责打开或连接数据库文件;Recordset 对象主要是存取数据库的内容;Command 对象主要是对数据库下达行动查询指令以及 SQL Server的 Stored Proceduce。ADO对象能够存取到数据库的内容,首先要求数据库的驱动程序( ODBC驱动程序与 OLE DB驱
26、动程序)必须安装上,否则, ADO对象是无法存取数据库中内容,其原理示意图如图 1.1所示:图 1.1 ADO对象存取数据原理示意图请注意:上图中的“各种数据库所对应的驱动程序”即 ODBC驱动程序与OLE DB驱动程序。1.3.3.1 利用 ADO开发网络数据库应用程序ADO(Active Date Objects,即 ActiveX数据对象)是一个 ASP内置的ActiveX服务器组件(ActiveX Server Component) 。可把它与 ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示”的最新 Web
27、数据库技术。要执行 ADO,服务器端必须安装 Windows NT Server 和 Internet Information Server(IIS),而客户端只要有 IE或 NETSCAPE较新版本的浏览器客户端 客户端 客户端ADO 对象各种数据库所对应的驱动程序各种数据库(如 Access、SQL Server 以及 Oracle 等)河南工程学院毕业设计(论文) 10即可。利用 ADO开发网络数据库应用程序有以下几个优点: 支持客户机/服务器结构(Client/Server)与 Web系统开发技术。 内部有多个互相独立的对象模型。 支持分批修改数据库内容。 支持多种不同的数据控制指标形
28、式。 先进的 Recordset数据高速缓存管理功能。 允许在程序中使用多个 Recordset对象或者多个分批修改区块传送。 ADO属于 Free_threaded对象,利用它可以开发出更有效的 Web应用程序。1.3.3.2 ADO组件的主要对象及其功能ADO组件又称为数据库访问组件,它提供了以下七种对象:Connection对象:提供对数据库的连接服务。Command对象:定义对数据库源操作的命令。Recordset对象:由数据库服务器所返回的记录集。Recordset 对象的 LockType属性的设置值常量 值 说明adLockReadOnly 1 默认值,只读。无法更改数据adLo
29、ckPressimistic 2保守式记录锁定(逐条) 。提供者执行必要的操作确保成功编辑记录,通常采用立即锁定数据源的记录的方式。adLockOptimistic 3开放式记录锁定(逐条) 。提供者使用开放式锁定,只在调用 Updata方法时锁定记录。adLockBatchOptimistic 4开放式批更新。用于与立即更新模式相反的批更新模式。Fields对象:由数据库服务器所返回的单一数据字段Parametes对象:表示 Command对象的参数。Property对象:单独的一个 Property对象,提供属性功能。Error对象:提供处理错误的功能。使用 ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行更新、删除、添加数据等操作,获取 ODBC的错误信息等。1.3.3.3 用来操纵数据的 SQL命令SQL命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,比一般的计算机程序语言简单的多。SQL 命令主要分成两部分:DDL(Data Definition Language)和 DML(Data Manipulation Language),其中DDL是建立数据表及数据列的指令群,而 DML则是操作数据库记录的指令群,