vb+SQL学生信息管理系统教学文稿_第1页
vb+SQL学生信息管理系统教学文稿_第2页
vb+SQL学生信息管理系统教学文稿_第3页
vb+SQL学生信息管理系统教学文稿_第4页
vb+SQL学生信息管理系统教学文稿_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。vb+SQL学生信息管理系统贵州师范大学职业技术学院计算机工程系毕业设计题目:学生信息管理系统系别:计算机工程系专业、班级:2008级计算机应用班姓名:杨茂科学号:082113010053指导教师:尹丹老师完成时间:2011年03月25日前言学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生学籍档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时

2、间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中将以开发一套学生信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。目录T

3、OCo1-3hzuHYPERLINKl_Toc288576189摘要PAGEREF_Toc288576189h1HYPERLINKl_Toc288576190第一章引言PAGEREF_Toc288576190h1HYPERLINKl_Toc2885761911.1课题介绍PAGEREF_Toc288576191h1HYPERLINKl_Toc2885761921.2课题目的及意义PAGEREF_Toc288576192h1HYPERLINKl_Toc2885761931.3研究方法、发展趋势PAGEREF_Toc288576193h1HYPERLINKl_Toc288576194第二章开发环境

4、、工具介绍PAGEREF_Toc288576194h2HYPERLINKl_Toc2885761952.1VisualBasic6.0PAGEREF_Toc288576195h2HYPERLINKl_Toc2885761962.1.1VisualBasic的编程特点PAGEREF_Toc288576196h2HYPERLINKl_Toc2885761972.1.2vb支持的数据库系统PAGEREF_Toc288576197h3HYPERLINKl_Toc2885761982.1.3数据库开发中的三大工具PAGEREF_Toc288576198h3HYPERLINKl_Toc2885761992

5、.2SQLServer2000简介PAGEREF_Toc288576199h4HYPERLINKl_Toc2885762002.2.1SQLServer数据库特点PAGEREF_Toc288576200h5HYPERLINKl_Toc2885762012.3ADO对象概述PAGEREF_Toc288576201h6HYPERLINKl_Toc2885762022.3.1利用ADO开发网络数据库应用程序PAGEREF_Toc288576202h6HYPERLINKl_Toc2885762032.3.2ADO组件的主要对象及其功能PAGEREF_Toc288576203h7HYPERLINKl_T

6、oc2885762042.3.3用来操控数据的SQL命令PAGEREF_Toc288576204h7HYPERLINKl_Toc2885762052.4VB访问数据库过程PAGEREF_Toc288576205h8HYPERLINKl_Toc288576206第三章系统分析与设计PAGEREF_Toc288576206h9HYPERLINKl_Toc2885762073.1系统功能分析PAGEREF_Toc288576207h9HYPERLINKl_Toc2885762083.2系统结构图PAGEREF_Toc288576208h9HYPERLINKl_Toc2885762093.3系统E-R

7、图PAGEREF_Toc288576209h10HYPERLINKl_Toc2885762103.4数据库设计PAGEREF_Toc288576210h11HYPERLINKl_Toc288576211第四章系统具体实现PAGEREF_Toc288576211h12HYPERLINKl_Toc2885762124.1模块设计PAGEREF_Toc288576212h12HYPERLINKl_Toc2885762134.2登录窗体设计PAGEREF_Toc288576213h14HYPERLINKl_Toc2885762144.3主界面设计PAGEREF_Toc288576214h16HYPER

8、LINKl_Toc2885762154.3.1ImageLisPAGEREF_Toc288576215h19HYPERLINKl_Toc2885762164.3.2ToolbarPAGEREF_Toc288576216h19HYPERLINKl_Toc2885762174.3.3StatusBarPAGEREF_Toc288576217h19HYPERLINKl_Toc2885762184.3.4菜单编辑器PAGEREF_Toc288576218h19HYPERLINKl_Toc2885762194.4数据库维护窗体设计PAGEREF_Toc288576219h20HYPERLINKl_Toc

9、2885762204.5管理员信息管理PAGEREF_Toc288576220h21HYPERLINKl_Toc2885762214.5.1管理员注册窗体设计PAGEREF_Toc288576221h21HYPERLINKl_Toc2885762224.5.2密码修改窗体设计PAGEREF_Toc288576222h23HYPERLINKl_Toc2885762234.6学生基本情况更新窗体设计PAGEREF_Toc288576223h25HYPERLINKl_Toc2885762244.7学生基本情况维护窗体设计PAGEREF_Toc288576224h29HYPERLINKl_Toc288

10、5762254.7.1数据环境PAGEREF_Toc288576225h31HYPERLINKl_Toc2885762264.7.2DateReport1设计PAGEREF_Toc288576226h31HYPERLINKl_Toc2885762274.7.3班级查找对话框PAGEREF_Toc288576227h32HYPERLINKl_Toc2885762284.8成绩维护窗体设计PAGEREF_Toc288576228h33HYPERLINKl_Toc2885762294.8.1DateReport2设计PAGEREF_Toc288576229h35HYPERLINKl_Toc28857

11、62304.8.2班级查找对话框PAGEREF_Toc288576230h35HYPERLINKl_Toc2885762314.9关于系统和系统帮助窗体设计PAGEREF_Toc288576231h37HYPERLINKl_Toc288576232第五章总结PAGEREF_Toc288576232h38HYPERLINKl_Toc288576233结束语PAGEREF_Toc288576233h39HYPERLINKl_Toc288576234参考文献PAGEREF_Toc288576234h40摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统

12、是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了毕业设计选题的背景、目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用表格和图片的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的输入、输出,数据的修改、查询以及打印报表等功能,本系统界面友好,操作简单,比较实用。关键词:控件;窗体;报表;关系数据库管理系统;VB。第一章引言1.1课题介绍高校学生信息的管理是一项既重要又繁琐的工作

13、。为更好的做好这项工作,提过工作效率,更好的为学校的发展和一线教学服务,决定:结合我校实际情况,自行研制一个学生信息管理系统。1.2课题目的及意义由于现今的学生信息管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学生信息管理系统。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加

14、安全等等。为了解决传统学生信息的管理正面临着的这些问题,我所设计的学生信息管理系统也就应运而生了。1.3研究方法、发展趋势本系统采用功能分析法即通过说明社会现象怎样满足一个社会系统的需要(即具有怎样的功能)来解释社会现象和CS模式共同完成。现代教育技术特别是网络与多媒体技术的发展,对学习活动产生了具有深远意义的冲击,人们可以选择或者设计适合其学习特点的信息采集、加工与重组方式。本系统采用CS模式,在某些方面还不是表现的很好,但未来有关学生信息管理的应该采用多层架构的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持Internet功能、远程访问功能,采用先进的CS和BS模式共同

15、开发,支持有关学校信息交流、日常教学、教务管理等的各种应用,提供一个基于校园内联网中支持各种类型的学校应用产品的服务平台和开发平台,基本目标是在学校内部和外部建立起顺畅的信息通道,让信息技术成为推动教育生产力的有力工具,提高学校的管理水平和效率,同时充分利用全球的教育资源为学校的教育服务,克服目前大部分学校的校园网建设只起到宣传作用的通病。第二章开发环境、工具介绍该软件是在WindowsXPProfessional+VisualBasic6.0+SQLServer2000的环境下完成的。下面就对这些开发工具进行介绍:2.1VisualBasic6.0微软公司的VisualBasic6.0是Wi

16、ndows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。利用VISUALBASIC程序设计语言,可以很方便地设计出在WINDOWS环境下运行的应用程序。故而,实现本系统VB是一个相对较好的选择。2.1.1VisualBasic的编程特点VisualBasic语言的出现为Windows下的编程提出了一个新概念,利用VisualBasic的动态数据交换、对象的链接和嵌入、动态链接库、ActiveX技术可以很方便地

17、设计出功能强大的应用程序。利用VisualBasic语言编程有以下几个特点:1)、可视化程序设计在VisualBasic中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面添加的代码真是少而又少,因为在设计图形界面的过程中只需设置ActiveX控件的属性即可。2)、强大的数据库和网络功能随着VisualBasic语言的向前发展,它在数据库和网络方面的功能优势就愈加明显,利用VisualBasic中的ODBC开放式的数据库访问技术可以很方便地开发出自己的数据库应用程序;利用VisualBasic自带的可视化数据管理器和报表生成器,完全可以在VisualBasic就完成数据库的开发工作

18、。3)、其他特性在VisualBasic以前的版本中,由于仍然摆脱不了解释执行的代码运行机制,所以在相当的程度上制约了VisualBasic的发展。从VisualBasic5.0版本开始,在VisualBasic中制作的应用程序都改变为编译执行,使得VisualBasic的代码效率有了很大的提高,同时执行的速度也加快了解30%(同VisualBasic4.0相比)。当然在VisualBasic中还有其它特性,例如:面向对象的编程语言;结构化程序设计;事件驱动的程序设计:在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预

19、定的路径执行,必要时才会调用过程。在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响不同的事件时执行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。支持动态链接库;应用程序之间的资源共享;事件驱动的程序设计;在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响不同的事件时执

20、行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。支持动态链接库;应用程序之间的资源共享2.1.2vb支持的数据库系统VB支持对多格式的数据库的访问和维护,无论是Access还是Foxpro中创建的数据库,都可以用VB打开,对其进行查询、修改和删除等操作。事实上,VB几乎支持对市面上所有数据库的访问。VB可以访问的数据库可以简单的分为三类,即:MicrosoftAccess格式数据库,外部数据库和ODBC数据库。VB对多种数据库格式的支持,大大

21、的增强了开发数据库应用程序的能力。2.1.3数据库开发中的三大工具VisualBasic在数据库应用程序的开发领域中,提供包含数据管理(DataManager),数据控件(DataControl)以及数据编程对象(数据访问对象(DAO)、远程数据对象(RDO)和ActiveX数据对象(ADO)等功能强大的工具,协助设计人员轻松的连接数据库文件,并访问其中的数据,在功能方面与其他一些专业数据库软件(如FoxPro,MicosoftAccess等)不相上下。数据管理器(DataManager)是VisualBasical已有的老成员之一,拓本盛举有的Jet数据库引擎(DatabaseEngine)

22、可以帮助VB程序元件立即维护数据库内容,并可通过输入查询或查找数据库信息,而不必再通过其他数据库软件另外去设计数据库。数据控件是VB所提供的基本控件成员之一。它使得设计者省下一堆程序代码编写的工作,能够轻松的设计及维护数据库内容。数据控件可以通过一些属性的设置去链接某个数据库文件,但是它本身并无法显示数据库各个记录的内容,必须在搭配其他具有数据感知(DataAware)功能的控件对应并显示一个字段内容,以方便地进行记录的浏览及编辑工作。VB提供的数据访问对象(DataAccessObject;DAO)让程序设计者拥有更大的发挥空间。借助程序代码编写,直接控制Jet数据库引擎,配合数据库控件,能

23、够开发出更具弹性且高效率的数据应用程序。RDO是处理远程数据库的一些专门需要的对象集合。使用RDO可以不用本地的查询机就能访问ODBC数据源,这无疑将大大提高应用程序的性能。ADO是VB6.0中新增的对象,它是一个更简单的对象模型,它更好的集成了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代DAO和RDO。ADO更易于使用。我们在本系统中利用数据管理器创建了数据库及数据库表,并采用了ADO数据访问技术。2.2SQLServer2000简介SQLServer2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。用它可以方便地管理数据库和

24、开发应用程序,它使用了最先进的数据库构架,与WindowsNT/2000平台紧密集成,具有完全的Web功能。通过对高端硬件平台、网络和存储技术的支持,为WEB站和企业的应用最大限度地提供了可扩展性和高可靠性,能在Internet商业领域快速建立并应用。此外,还增强了安全性,保护防火墙内外的数据。支持基于角色的安全并拥有安全审计工具。在经历了SQLServer6.5和7.0两个版本的尝试后,微软公司终于开始了大规模的业务。记得在以前各种关于SQLServer的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。其实这是一种误解。在过去的很长一段时间中,微软公司聘请了世

25、界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQLServer可以说成为了开发者手中的一柄利器!另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。SQLServer2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。另外,SQLServer2000可以兼顾小、中、大规模的应用,有着远远比Access强大的伸

26、缩性。2.2.1SQLServer数据库特点概括起来,SQLServer2000数据库管理系统具有以下主要特点。1)、丰富的图形管理工具,使系统管理、操作更为直观方便。SQLServer企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQLServer服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQLServer2000还提供了SQL事件探查器、SQL查询分析器、SQLServer服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。2)、动态自动管理和优化功能。即使SQLSe

27、rver数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。3)、充分的Internet技术支持。Internet网络发展到今天已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术支持,它除保留了前期版本中的数据库Web出版工具“Web助手”外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQLServer数据库系统,也扩展了SQLServer在数据挖掘和分析服务领域的应用。4)、丰富的编程接口工具,使用户开发SQLServer数据库应用程序更加灵活。

28、SQLServer提供了Transact-SQL、DB-LibraryforC、嵌入式SQL(ESQL)等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQLServer2000还支持ODBC、OLEDB、ADO规范,可以使用ODBC、OLEDB、ADO接口访问SQLServer数据库。5)、具有很好的伸缩性和可靠性。SQLServer2000既能运行在Windows桌面操作系统下,又可运行在服务器操作系统(包括WindowsNT和Windows2000)下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它

29、具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。6)、简单的管理方式。SQLServer2000与MicrosoftWindows2000有机集成,所以可以使用Windows2000的活动目录(ActiveDirectory)功能对SQLServer进行集中管理,大大简化大型企业中的系统管理工作。此外,与Windows2000的集成还使SQLServer能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器、内存管理和异步I/O等),从而增强了SQLServer数据库系统的功能,并且只需要占用很少的系统资源。2.3ADO对象概述ADO对象能够存取

30、到数据库的内容,首先要求数据库的驱动程序(ODBC驱动程序与OLEDB驱动程序)必须安装上,否则,ADO对象是无法存取数据库中内容,其原理示意图如下图所示:客户端客户端客户端ADO对象各种数据库所对应的驱动程序各种数据库(如Access、SQLServer以及Oracle等)请注意:上图中的“各种数据库所对应的驱动程序”即ODBC驱动程序与OLEDB驱动程序。2.3.1利用ADO开发网络数据库应用程序ADO(ActiveDateObjects,即ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveXServerComponent)。可把它与ASP结合起来,建立提供数

31、据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示”的最新Web数据库技术。要执行ADO,服务器端必须安装WindowsNTServer和InternetInformationServer(IIS),而客户端只要有IE或NETSCAPE较新版本的浏览器即可。利用ADO开发网络数据库应用程序有以下几个优点:1)、支持客户机/服务器结构(Client/Server)与Web系统开发技术。2)、内部有多个互相独立的对象模型。3)、支持分批修改数据库内容。4)、支持多种不同的数据控制指标形式。5)、先进的Recordset数据高速缓存管理功能。6)、允

32、许在程序中使用多个Recordset对象或者多个分批修改区块传送。7)、ADO属于Free_threaded对象,利用它可以开发出更有效的Web应用程序。2.3.2ADO组件的主要对象及其功能ADO组件又称为数据库访问组件,它提供了以下七种对象:1)、Connection对象:提供对数据库的连接服务。2)、Command对象:定义对数据库源操作的命令。3)、Recordset对象:由数据库服务器所返回的记录集。Recordset对象的LockType属性的设置值如下表所示:常量值说明adLockReadOnly1默认值,只读。无法更改数据adLockPressimistic2保守式记录锁定(逐

33、条)。提供者执行必要的操作确保成功编辑记录,通常采用立即锁定数据源的记录的方式。adLockOptimistic3开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用Updata方法时锁定记录。adLockBatchOptimistic4开放式批更新。用于与立即更新模式相反的批更新模式。4)、Fields对象:由数据库服务器所返回的单一数据字段5)、Parametes对象:表示Command对象的参数。6)、Property对象:单独的一个Property对象,提供属性功能。7)、Error对象:提供处理错误的功能。使用ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行

34、更新、删除、添加数据等操作,获取ODBC的错误信息等。2.3.3用来操控数据的SQL命令SQL命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,比一般的计算机程序语言简单的多。SQL命令主要分成两部分:DDL(DataDefinitionLanguage)和DML(DataManipulationLanguage),其中DDL是建立数据表及数据列的指令群,而DML则是操作数据库记录的指令群,如数据库记录的添加、更新、删除、和查询等。SQL命令,包括Select、Delete、Update、InsertInto、SelectInto等。1)、筛选及排序记录的Select指令基

35、本句型一:Select字段串列From数据表基本句型二:SelectFromWhere筛选条件基本句型三:SelectFromOrderBy字段串列SelectTop:限定选取数据的条数2)、删除数据记录的Delete指令基本语法:DeleteFrom数据表Where条件式3)、更新数据记录的Update指令基本语法:Update数据表Set表达式4)、增加数据记录的InsertInto指令基本句型一:InsertInto数据表(字段串列)Values(字段串列)基本句型二:InsertInto数据表(字段1,字段2,字段n)Select5)、建立新数据表的SelectInto指令该指令与“I

36、nsertIntoSelect”指令的区别是,这个指令将建立另一个新的数据表,而InsertInto是增加数据记录到“现存的”数据表中。2.4VB访问数据库过程1)、定义数据库组件DimconnAsNewADODB.Connection其中conn为连接对象DimrecoAsNewADODB.Recordset其中reco为结果集对象2)、打开数据库对于SQL数据库,其连接语句为conn.Opendriver=sqlserver;server=localhost;uid=sa;pwd=;database=student。而对于Access数据库,连接语句为conn.OpenProvider=M

37、icrosoft.Jet.OLEDB.4.0;DataSource=&App.Path+student.mdb3)、设定SQL语句,使用“Execute”命令,即可开始执行访问数据库的动作4)、关闭结果集对象,断开与数据库的连接reco.Closeconn.Close第三章系统分析与设计3.1系统功能分析随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量就需要有一个学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、快速查询、修改、增加、删除等,从而减少管理方面的工作量。设计内容为管理员或普通用户登录该系统进行五个模块操作:1

38、)、学生基本情况更新:增加、修改、删除、查询(按学号)2)、学生基本情况维护:增加、修改、删除、打印、查询(按专业)3)、学生成绩维护:添加成绩、打印、查询(按学号、专业)4)、密码修改:修改所有用户密码(管理员)、修改自己密码(普通用户)5)、数据维护:对该系统数据库进行备份和还原3.2系统结构图本系统主要包括学生基本情况更新,学生基本情况维护、学生成绩维护、密码修改和数据维护5个大的模块,各个模块的具体功能如下图所示:3.3系统E-R图1)、用户(普通用户、管理员)实体图如下图所示:2)、学生实体图如下图所示:3)、学生选课关系图如下图所示:3.4数据库设计在系统设计过程中,首先要建立的就

39、是数据库。本数据库采用SQLServer2000来构造,共使用了3个表,它们分别是用户信息表(admin)、学生基本情况表(student)、学生成绩表(grade)。1)、用户信息表(admin):表结构如下表所示:名称字段名称类型长度用户IDidint4用户名namechar6用户密码passwordchar6用户类型typechar10注册时间registdatedatetime82)、学生基本情况表(student):表结构如下表所示:名称字段名称类型长度学号snovarchar10姓名snamechar10性别ssexchar2班级sclassvarchar50出生年月sbirthd

40、aychar10政治面貌spavarchar8地址saddressvarchar50电话sphonevarchar11Emailsemailvarchar203)、学生成绩表(grade):表结构如下表所示:名称字段名称类型长度学号snoint2课程名cnamechar10成绩gradechar2学期semesterchar8第四章系统具体实现本部分主要内容为本系统的各个运行界面以及主要界面的源代码4.1模块设计添加一个模块module1。该部分主要包括一些公共变量的定义、main过程定义以及自动把备份的数据库文件还原到SQLServer2000中的代码设计。代码如下:PublicDeclar

41、eFunctionGetComputerNameLibkernel32AliasGetComputerNameA(ByVallpBufferAsString,nSizeAsLong)AsLong获取主机名的定义PublicAname,AsortAsString状态栏上显示当前用户的名称和用户类型PublicconnAsNewADODB.Connection新建连接对象PublicrecoAsNewADODB.Recordset新建记录集对象Publicreco2AsNewADODB.RecordsetPublicconn_str1,conn_str2AsString=定义一个main过程,从m

42、ain过程启动程序,同时连接到数据库=PublicSubMain()reco.CursorLocation=adUseClientreco2.CursorLocation=adUseClientconn_str1=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=maokeyang;DataSource=&GetPcName()conn_str2=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=F

43、alse;InitialCatalog=master;DataSource=&GetPcName()DB_ADD先调用DB_ADD来将maokeyang数据库添加到SQLServer2000中conn.Openconn_str1连接到数据库frm_login.Show登录窗体显示EndSub=此函数用来获取主机名!=PublicFunctionGetPcName()AsStringDimcompnameAsString,retvalAsLongcompname=Space(255)retval=GetComputerName(compname,255)compname=Left(compnam

44、e,InStr(compname,vbNullChar)-1)GetPcName=compnameEndFunction=关闭记录集=PublicSubClose_Reco()Ifreco.State=1Thenreco.CloseEndIfEndSub此过程用来在启动软件的时候把maokeyang数据库添加到SQLServer2000中PublicSubDB_ADD()DimsAsStringOnErrorGoToErrorChecka:conn.Openconn_str2reco.Openselect*fromsysdatabaseswherename=maokeyang,conn,1,3

45、查询是否存在maokeyang数据库Ifreco.RecordCount1Then如果maokeyang数据库不存在,则添加maokeyang数据库,否则不添加mkdir_killconn.Executerestoredatabasemaokeyangfromdisk=&App.Path&backupmaokeyangElsereco.Closeconn.CloseExitSubEndIfreco.Closeconn.CloseExitSubErrorCheck:MsgBox您可能没有启动SQLServer服务,提示ShellnetstartmssqlserverMsgBox启动成功!,提示G

46、oToaEndSub新建路径并删除原有的数据库PublicSubmkdir_kill()OnErrorResumeNextMkDirc:programfilesMkDirc:ProgramFilesMicrosoftSQLServerMkDirC:ProgramFilesMicrosoftSQLServerMSSQLMkDirC:ProgramFilesMicrosoftSQLServerMSSQLDataKillC:ProgramFilesMicrosoftSQLServerMSSQLDatamaokeyang_Log.LDFKillC:ProgramFilesMicrosoftSQLSer

47、verMSSQLDatamaokeyang_Data.MDFEndSub4.2登录窗体设计添加一个窗体(frm_login)。该部分主要包括用户的验证以及登录次数的限制。窗体运行情况如下图所示:代码如下:DimnAsIntegern为限制登陆次数的变量PrivateSubForm_Load()n=4EndSubPrivateSubCommand1_Click()确定按钮Close_RecoWithreco连接到表并产生记录集.Openselect*fromadminwherename=&Trim(Text1.Text)&andpassword=&Trim(Text2.Text)&,conn,1

48、,1If.RecordCount0ThenAname=Trim(.Fields(name)将成功登录的用户名赋给AnameAsort=Trim(.Fields(type)将成功登录的用户类型赋给Asort.CloseUnloadMefrm_main.Show主界面显示Elsen=n-1.Close.Openselect*fromadminwherename=&Trim(Text1.Text)&,conn,1,1If.RecordCount=0ThenMsgBox(用户名错误,请重新输入!您还有&n&次机会登陆!),(错误)Text1.SetFocus.CloseElseMsgBox(密码错误,

49、请重新输入!您还有&n&次机会登陆!),(错误).CloseText2.SetFocusEndIfEndIfIfn=0ThenClose_RecoUnloadMeEndIfEndWithEndSubPrivateSubCommand2_Click()取消按钮IfMsgBox(你真的不登录学生信息管理系统吗?,vbQuestion+vbYesNo,退出系统提示信息)=vbYesThenEndEndIfEndSub=只有当用户名和密码框都不为空时“登录”按钮才可用=PrivateSubText2_Change()密码文本框IfText1.TextAndText2.TextThenCommand1.

50、Enabled=TrueCommand1.Default=TrueElseCommand1.Enabled=FalseEndIfEndSubPrivateSubText1_Change()用户名文本框IfText2.TextAndText1.TextThenCommand1.Enabled=TrueCommand1.Default=TrueElseCommand1.Enabled=FalseEndIfEndSub4.3主界面设计添加一个窗体(frm_main)。该部分主要添加ImageList、StatusBar、Toolbar控件和菜单编辑器。以用户名为杨茂科、密码为123登录,窗体运行情况

51、如下图所示:代码如下:PrivateSuba1_Click()frm_beifen.ShowEndSubPrivateSubb1_Click()frm_regist.ShowEndSubPrivateSubb2_Click()frm_modify.ShowEndSubPrivateSubc1_Click()frm_qkbgx.ShowEndSubPrivateSubc2_Click()frm_qkbwh.ShowEndSubPrivateSubc3_Click()frm_cjbwh.ShowEndSubPrivateSubd1_Click()frm_about.ShowEndSubPrivat

52、eSubd2_Click()frm_help.ShowEndSubPrivateSube_Click()UnloadMefrm_login.ShowEndSubPrivateSubf_Click()EndEndSubPrivateSubForm_Load()StatusBar1.Panels(1).Text=用户:&Aname状态栏第一格显示用户名StatusBar1.Panels(2).Text=类型:&Asort状态栏第二格显示用户类型EndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCas

53、eButton.KeyCaseonefrm_qkbgx.Show1情况表更新窗体显示Casetwofrm_qkbwh.Show1情况表维护窗体显示Casethreefrm_cjbwh.Show1成绩表维护窗体显示Casefourfrm_modify.Show1密码修改窗体显示Casefivefrm_beifen.Show1数据库维护窗体显示EndSelectEndSub4.3.1ImageLis在主界面上添加一个图像列表控件,在属性页设置插入5张图片。4.3.2Toolbar在主窗体上添加一个工具栏控件,在属性页上将图像列表从无设置到ImageList1,添加5个按钮,按钮属性如下表所示:索引

54、12345标题情况表更新情况表维护成绩表维护密码修改数据备份关键字onetwothreefourfive图像123454.3.3StatusBar在主窗体上添加一个状态栏控件,在状态栏上添加5个格子,后三个格子分别设置为日期、时间、文本4.3.4菜单编辑器在主窗体上添加一个菜单编辑器,菜单结构、属性如下表所示:菜单结构标题名称标题名称文件a情况表维护c2数据库维护a1成绩表维护c3管理员信息b帮助d注册b1关于系统d1修改密码b2系统帮助d2数据维护c重新登录e情况表更新c1退出f4.4数据库维护窗体设计添加一个窗体(frm_beifen)、一个CommonDialog控件。该部分主要包括数据

55、库的备份与还原。窗体运行情况如下图所示:代码如下:PrivateSubCommand1_Click()备份按钮DimbackUpFileNameAsString变量声明CommonDialog1.DialogTitle=备份文件设置对话框的标题CommonDialog1.Filter=*.*CommonDialog1.ShowSave设置对话框的按钮类型为保存backUpFileName=CommonDialog1.FileName将保存的文件名赋给变量IfCommonDialog1.FileName=ThenMsgBox(文件名不能为空,请输入文件名)CommonDialog1.ShowSa

56、veElseconn.Execute(backupdatabaselibrarytodisk=&backUpFileName&)执行备份语句MsgBox(备份成功)EndIfEndSubPrivateSubCommand2_Click()还原按钮conn.Closeconn.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=master;DataSource=&GetPcName()借助master数据库来恢复CommonDialog1.DialogTitle=还原的

57、文件名CommonDialog1.Filter=*.*backUpFileName=CommonDialog1.FileNameCommonDialog1.ShowOpenrec.Openselectspidfromsysprocesseswheredbid=db_id(maokeyang),conn查询是否有maokeyang数据库,找出进程号DoWhileNotrec.EOFconn.Executekill&reco(spid)结束sql服务器的所有连接,否则会出现:数据库正在使用,无法完成排它操作等等reco.MoveNextLoopconn.Execute(restoredatabas

58、emaokeyangfromdisk=&backUpFileName&)还原数据库MsgBox(数据库已还原)reco.Closeconn.Closeconn.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=master;DataSource=&GetPcName()借助master数据库来恢复EndSub4.5管理员信息管理该部分包括管理员注册和密码修改的管理4.5.1管理员注册窗体设计添加一个窗体(frm_regist)。该部分主要完成管理员的注册功能。窗体运行

59、情况如下图所示:代码如下:PrivateSubCommand1_Click()确认按钮IfText3.TextText2.TextThenMsgBox两次输入的新密码不同,请重新输入!,vbOKOnly+vbExclamation,警告Text2.SetFocusText2.Text=Text3.Text=ExitSubEndIfWithreco.Openselect*fromadmin,conn,1,3.AddNew.Fields(name)=Trim(Text1.Text).Fields(password)=Trim(Text2.Text).Fields(type)=Combo1.Text

60、.Fields(registdate)=Trim(Text4.Text).Update.CloseMsgBox(注册成功),(提示)Text1.Text=Text2.Text=Text3.Text=Text4.Text=Combo1.Text=EndWithEndSubPrivateSubCommand4_Click()更改按钮Text4.Enabled=TrueText4.Text=Text4.SetFocusEndSubPrivateSubForm_Load()窗体加载时候注册时间文本框获得当前时间Text4.Enabled=FalseText4.Text=DateEndSub4.5.2密

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论