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

下载本文档

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

文档简介

VB+SQL学生信息管理系统PAGEPAGE1————————————————————————————————作者:————————————————————————————————日期: 个人收集整理勿做商业用途个人收集整理勿做商业用途PAGEIVPAGE3个人收集整理勿做商业用途学生信息管理系统摘要学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了毕业设计选题的背景、目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用表格和图片的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的输入、输出,数据的修改、查询以及打印报表等功能,本系统界面友好,操作简单,比较实用。关键词:控件,窗体,报表,关系数据库管理系统,VB

StUDENTS'INFORMATIONMANAGEMENTSYSTEMABSTRACTAlongwiththeinformationtechnologyinthemanagementofmoreandmoredepthandawiderangeofapplications,themanagementinformationsystemintheimplementationoftechnologyhasgraduallymatured。Managementinformationsystemisacontinuousdevelopmentofnewdisciplines,anyoneunittosurviveistodevelopandefficientactivitiesoftheinternalorganizationoforganic,itmustestablishitsowncharacteristicsinlinewiththemanagementinformationsystem.Thissystemisinmanagementinformationsystemundertheguidanceofthetheoryandmethod,databasetechnologysupportisdone.Thispaperfirstdiscussesthestructureinthegraduationdesignbackground,expatiatesthepurposeandsignificance,thendescribesthedevelopmentenvironment,developmentplatformanddatabasetechnology,andthenusedformandpicturesofthewaytheoverallplanningofthesystemisintroduced,thenthesystemintherealizationofthespecificdetails,andfinallythissystemcanaccomplishinformationinput,output,modify,inquiresthedataandprintreport,andotherfunctions,thissystemfriendlyinterface,theoperationissimple,ismorepractical。本文为互联网收集,请勿用作商业用途个人收集整理,勿做商业用途KEYWORDS:Control,Form,Statement,RelationalDatabaseManagementSystem,VB目录TOC\o”1—3”\h\z\uHYPERLINK\l”_Toc325621356”前言 1HYPERLINK\l”_Toc325621357"第1章开发背景 2HYPERLINK\l”_Toc325621358"1.1课题介绍 2HYPERLINK\l”_Toc325621359"1.2课题目的及意义 2HYPERLINK\l”_Toc325621360”1.3研究方法、发展趋势 22.1VisualBasic6.0 42.1.1VisualBasic的编程特点 4HYPERLINK\l”_Toc325621364"2。1。2VB支持的数据库系统 52.2SQLServer2000简介 5HYPERLINK\l”_Toc325621366”2.2.1SQLServer数据库特点 6HYPERLINK\l”_Toc325621367”2。3ADO对象概述 72.3。2ADO组件的主要对象及其功能 92.3.3用来操控数据的SQL命令 9HYPERLINK\l”_Toc325621371"2.4VB访问数据库过程 10HYPERLINK\l”_Toc325621372"第3章系统分析 123。1系统功能分析 12HYPERLINK\l”_Toc325621374"3。2业务流程图 12HYPERLINK\l”_Toc325621375”3。3数据流程图 133.4数据字典 14第4章系统设计 15_Toc325621379"4。2代码设计 16HYPERLINK\l”_Toc325621380"4。3数据库设计 16HYPERLINK\l”_Toc325621381"第5章系统实施 22HYPERLINK\l”_Toc325621382"5.1模块设计 225。2登录窗体设计 24HYPERLINK\l”_Toc325621384"5。3主界面设计 265。3。2Timer1 295。3。3菜单编辑器 29_Toc325621389”5.4。1班级信息查询 30HYPERLINK\l”_Toc325621390”5。4。2课程信息查询 30HYPERLINK\l”_Toc325621391"5。4.3成绩信息查询 31_Toc325621394"5.5。1用户注册窗体设计 325。6学籍信息管理窗体设计 36HYPERLINK\l”_Toc325621397"5.7课程信息管理窗体设计 385。8统计报表中心设计 395.8.2StudnetReport设计 405。8.3StudnetReport设计 40HYPERLINK\l”_Toc325621402”5.9班级信息设计 41HYPERLINK\l”_Toc325621403”5.10成绩信息设计 41HYPERLINK\l”_Toc325621404”5。11年级信息设计 42结论 43HYPERLINK\l”_Toc325621406"谢辞 44参考文献 45前言学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生学籍档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件.因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中将以开发一套学生信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法.第1章开发背景1。1课题介绍高校学生信息的管理是一项既重要又繁琐的工作。为更好的做好这项工作,提高工作效率,更好的为学校的发展和一线教学服务,决定:结合我校实际情况,自行研制一个学生信息管理系统.1.2课题目的及意义由于现今的学生信息管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学生信息管理系统。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全等等.为了解决传统学生信息的管理正面临着的这些问题,我所设计的学生信息管理系统也就应运而生了。1.3研究方法、发展趋势本系统采用功能分析法即通过说明社会现象怎样满足一个社会系统的需要(即具有怎样的功能)来解释社会现象和CS模式共同完成。现代教育技术特别是网络与多媒体技术的发展,对学习活动产生了具有深远意义的冲击,人们可以选择或者设计适合其学习特点的信息采集、加工与重组方式.本系统采用CS模式,在某些方面还不是表现的很好,但未来有关学生信息管理的应该采用多层架构的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持Internet功能、远程访问功能,采用先进的CS和BS模式共同开发,支持有关学校信息交流、日常教学、教务管理等的各种应用,提供一个基于校园内联网中支持各种类型的学校应用产品的服务平台和开发平台,基本目标是在学校内部和外部建立起顺畅的信息通道,让信息技术成为推动教育生产力的有力工具,提高学校的管理水平和效率,同时充分利用全球的教育资源为学校的教育服务,克服目前大部分学校的校园网建设只起到宣传作用的通病。PAGE6PAGE11第2章开发环境、工具介绍该软件是在WindowsXPProfessional+VisualBasic6。0+SQLServer2000的环境下完成的。下面就对这些开发工具进行介绍:2.1VisualBasic6.0微软公司的VisualBasic6。0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。利用VISUALBASIC程序设计语言,可以很方便地设计出在WINDOWS环境下运行的应用程序。故而,实现本系统VB是一个相对较好的选择.2.1.1VisualBasic的编程特点VisualBasic语言的出现为Windows下的编程提出了一个新概念,利用VisualBasic的动态数据交换、对象的链接和嵌入、动态链接库、ActiveX技术可以很方便地设计出功能强大的应用程序。利用VisualBasic语言编程有以下几个特点:1。可视化程序设计在VisualBasic中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面添加的代码真是少而又少,因为在设计图形界面的过程中只需设置ActiveX控件的属性即可。2.强大的数据库和网络功能随着VisualBasic语言的向前发展,它在数据库和网络方面的功能优势就愈加明显,利用VisualBasic中的ODBC—-开放式的数据库访问技术可以很方便地开发出自己的数据库应用程序;利用VisualBasic自带的可视化数据管理器和报表生成器,完全可以在VisualBasic就完成数据库的开发工作。3。其他特性在VisualBasic以前的版本中,由于仍然摆脱不了解释执行的代码运行机制,所以在相当的程度上制约了VisualBasic的发展。从VisualBasic5。0版本开始,在VisualBasic中制作的应用程序都改变为编译执行,使得VisualBasic的代码效率有了很大的提高,同时执行的速度也加快了解30%(同VisualBasic4。0相比)。当然在VisualBasic中还有其它特性,例如:面向对象的编程语言;结构化程序设计;事件驱动的程序设计:在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程.在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发.这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。支持动态链接库;应用程序之间的资源共享;事件驱动的程序设计。2.1。2VB支持的数据库系统VB支持对多格式的数据库的访问和维护,无论是Access还是Foxpro中创建的数据库,都可以用VB打开,对其进行查询、修改和删除等操作.事实上,VB几乎支持对市面上所有数据库的访问.VB可以访问的数据库可以简单的分为三类,即:MicrosoftAccess格式数据库,外部数据库和ODBC数据库。VB对多种数据库格式的支持,大大的增强了开发数据库应用程序的能力。2。2SQLServer2000简介SQLServer2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与WindowsNT/2000平台紧密集成,具有完全的Web功能.通过对高端硬件平台、网络和存储技术的支持,为WEB站和企业的应用最大限度地提供了可扩展性和高可靠性,能在Internet商业领域快速建立并应用。此外,还增强了安全性,保护防火墙内外的数据.支持基于角色的安全并拥有安全审计工具。在经历了SQLServer6.5和7。0两个版本的尝试后,微软公司终于开始了大规模的业务。记得在以前各种关于SQLServer的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中.其实这是一种误解。在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQLServer可以说成为了开发者手中的一柄利器.另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段.SQLServer2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。另外,SQLServer2000可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。2.2.1SQLServer数据库特点概括起来,SQLServer2000数据库管理系统具有以下主要特点。丰富的图形管理工具,使系统管理、操作更为直观方便。SQLServer企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQLServer服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQLServer2000还提供了SQL事件探查器、SQL查询分析器、SQLServer服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。动态自动管理和优化功能.即使SQLServer数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。充分的Internet技术支持.Internet网络发展到今天已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术支持,它除保留了前期版本中的数据库Web出版工具“Web助手”外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQLServer数据库系统,也扩展了SQLServer在数据挖掘和分析服务领域的应用。丰富的编程接口工具,使用户开发SQLServer数据库应用程序更加灵活。SQLServer提供了Transact-SQL、DB—LibraryforC、嵌入式SQL(ESQL)等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQLServer2000还支持ODBC、OLEDB、ADO规范,可以使用ODBC、OLEDB、ADO接口访问SQLServer数据库.具有很好的伸缩性和可靠性。SQLServer2000既能运行在Windows桌面操作系统下,又可运行在服务器操作系统(包括WindowsNT和Windows2000)下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。简单的管理方式.SQLServer2000与MicrosoftWindows2000有机集成,所以可以使用Windows2000的活动目录(ActiveDirectory)功能对SQLServer进行集中管理,大大简化大型企业中的系统管理工作。此外,与Windows2000的集成还使SQLServer能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器、内存管理和异步I/O等),从而增强了SQLServer数据库系统的功能,并且只需要占用很少的系统资源.2.3ADO对象概述ADO对象能够存取到数据库的内容,首先要求数据库的驱动程序(ODBC驱动程序与OLEDB驱动程序)必须安装上,否则,ADO对象是无法存取数据库中内容,其原理示意图如下图所示:图2-1ADO连接请注意:上图中的“各种数据库所对应的驱动程序”即ODBC驱动程序与OLEDB驱动程序。2.3。1利用ADO开发网络数据库应用程序ADO(ActiveDateObjects,即ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveXServerComponent).可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示”的最新Web数据库技术。要执行ADO,服务器端必须安装WindowsNTServer和InternetInformationServer(IIS),而客户端只要有IE或NETSCAPE较新版本的浏览器即可。利用ADO开发网络数据库应用程序有以下几个优点:支持客户机/服务器结构(Client/Server)与Web系统开发技术。内部有多个互相独立的对象模型。支持分批修改数据库内容。支持多种不同的数据控制指标形式。先进的Recordset数据高速缓存管理功能。允许在程序中使用多个Recordset对象或者多个分批修改区块传送。ADO属于Free_threaded对象,利用它可以开发出更有效的Web应用程序。2.3.2ADO组件的主要对象及其功能ADO组件又称为数据库访问组件,它提供了以下七种对象:1。Connection对象:提供对数据库的连接服务。2。Command对象:定义对数据库源操作的命令。3。Recordset对象:由数据库服务器所返回的记录集。Recordset对象的LockType属性的设置值如下表所示:表2—1LockType属性常量值说明adLockReadOnly1默认值,只读。无法更改数据adLockPressimistic2保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用立即锁定数据源的记录的方式。adLockOptimistic3开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用Updata方法时锁定记录。adLockBatchOptimistic4开放式批更新.用于与立即更新模式相反的批更新模式.4.Fields对象:由数据库服务器所返回的单一数据字段。5.Parametes对象:表示Command对象的参数。6.Property对象:单独的一个Property对象,提供属性功能。7。Error对象:提供处理错误的功能。使用ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行更新、删除、添加数据等操作,获取ODBC的错误信息等。2。3.3用来操控数据的SQL命令SQL命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,比一般的计算机程序语言简单的多。SQL命令主要分成两部分:DDL(DataDefinitionLanguage)和DML(DataManipulationLanguage),其中DDL是建立数据表及数据列的指令群,而DML则是操作数据库记录的指令群,如数据库记录的添加、更新、删除、和查询等。SQL命令,包括Select、Delete、Update、InsertInto、SelectInto等。1.筛选及排序记录的Select指令基本句型一:Select字段串列From数据表;基本句型二:Select…From…Where筛选条件;基本句型三:Select…From…OrderBy字段串列;SelectTop:限定选取数据的条数.2.删除数据记录的Delete指令基本语法:DeleteFrom数据表Where条件式.3.更新数据记录的Update指令基本语法:Update数据表Set表达式。4。增加数据记录的InsertInto指令基本句型一:InsertInto数据表(字段串列)Values(字段串列);基本句型二:InsertInto数据表(字段1,字段2,…,字段n)Select…;建立新数据表的SelectInto指令;该指令与“InsertInto…Select…”指令的区别是,这个指令将建立另一个新的数据表,而InsertInto是增加数据记录到“现存的”数据表中。2.4VB访问数据库过程2。4。1定义数据库组件DimconnAsNewADODB。Connection其中conn为连接对象;DimrecoAsNewADODB.Recordset其中reco为结果集对象。2.4。2打开数据库对于SQL数据库,其连接语句为conn。Open"Provider=SQLOLEDB。1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Sims_four”。而对于Access数据库,连接语句为conn。Open"Provider=Microsoft.Jet.OLEDB。4。0;DataSource=”&App.Path+"\Sims_four.mdb”设定SQL语句,使用“Execute"命令,即可开始执行访问数据库的动作。2.4.3关闭结果集对象,断开与数据库的连接reco。Close;conn.Close。PAGE13第3章系统分析3。1系统功能分析随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量就需要有一个学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、快速查询、修改、增加、删除等,从而减少管理方面的工作量。设计内容为管理员或普通用户登录该系统进行八个模块操作:用户管理:用户添加、用户删除、密码修改;年级信息管理:学校年级设置、学校信息设置;班级信息管理:班级信息设置;课程信息管理:课程信息设置、年级课程开设;学籍信息管理:学籍信息设置;成绩信息管理:成绩信息设置;查询管理:班级信息查询、课程信息查询、成绩信息查询、学籍信息查询;统计报表:班级信息统计报表、学生信息统计报表。3。2业务流程图通过对学校学生信息业务的实际调查分析,弄清楚了学生信息管理工件的业务流程和管理功能,系统的业务流程图如下:学生信息流程图图3-1学生信息流程图学校年级、课程流程图图3—2学校年级、课程流程图3.3数据流程图学生信息数据流程图:图3—3学生信息数据流程图课程、年级、成绩数据流程图:图3—4课程、年级、成绩数据流程图3.4数据字典3.4.1数据流的描述数据流编号:D—01;数据流名称:学籍信息录入;数据流来源:招生办;数据流去向:教务处;数据项组成:学号+姓名+性别+出生日期+班号+电话+入学日期+地址+描述。3.4。2处理逻辑描述处理逻辑编号:P-01;处理逻辑名称:班级课程信息;输入的数据流:年级课程信息,班级信息;处理描述:形成班级课程信息单;输出数据流:班级课程信息单.3。4.3数据存储描述数据存储编号:F-01数据存储名称:成绩信息单;数据存储组成:考试编号+学号+课程号+成绩;关键字:考试编号+学号+课程号;相关处理:P-01。3。4。4外部实体描述外部实体编号:S—01;外部实体名称:教务处;输入数据流:D-01.PAGE8PAGE15第4章系统设计4.1系统功能设计该系统功能划分为用户管理、年级信息管理班级信息管理、班级信息设置、课程信息管理、学籍信息管理、成绩信息管理、查询管理、统计报表。其功能模块图如下:图4-1功能模图4。2代码设计在系统设计过程中,所有信息均实现了代码化,比如学生表中的学号、课程表中的课程号、班级表中的班级号等。代码为事物提供一个概要而不含糊的认定,便于数据的存储和检索;代码化提高了处理的效率和精度;代码化提高了数据的全局一致性,提高了系统的整体性、减少了因数据不一致而造成的错误。4。3数据库设计在系统设计过程中,首先要建立的就是数据库。本数据库采用SQLServer2000来构造,共使用了8个表,它们分别是用户信息表(user_info)、学生信息表(student_info)、班级信息表(class_info)、学校年级信息表(schoolgrade_info)、年级课程信息表(gradecourse_info)、成绩信息表(result_info)、课程信息表(course_info)、学校信息表(school_info)用户信息表(user_info):CREATETABLE[dbo]。[user_info]( [user_id][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL, [user_name][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [user_pwd][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [user_des][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [user_level][int]NOTNULL)ON[PRIMARY]GO表结构如下表所示:表4-1用户表结构图列称数据类型长度允许空User_idvarchar10NOTNULLUser_namevarchar20NULLUser_pwdvarchar10NULLUser_desvarchar20NULLUser_levelintNOTNULL学生基本情况表(student):CREATETABLE[dbo].[student_info]( [student_id][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL, [student_name][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [student_gender][char](2)COLLATEChinese_PRC_CI_ASNULL, [birth_date][varchar](15)COLLATEChinese_PRC_CI_ASNULL, [class_no][char](3)COLLATEChinese_PRC_CI_ASNOTNULL, [tele_number][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [in_date][varchar](15)COLLATEChinese_PRC_CI_ASNULL, [address][varchar](30)COLLATEChinese_PRC_CI_ASNULL, [comment][varchar](100)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO表结构如下表所示:表4—2学生表结构图列称数据类型长度允许空Student_idvarchar15NOTNULLStudent_namevarchar20NULLStudent_genderchar2NULLBirth_datevarchar15NULLClass_nochar3NULLTele_numbervarchar20rNULLIn_datevarchar15NULLaddressvarchar30NULLcommentvarchar100NULL班级信息表(class_info):CREATETABLE[dbo].[class_Info]( [class_No][char](3)COLLATEChinese_PRC_CI_ASNOTNULL, [grade_No][char](10)COLLATEChinese_PRC_CI_ASNULL, [user_id][varchar](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO表结构如下表所示:表4—3班级表结构图列称数据类型长度允许空Class_nochar3NOTNULLGrade_nochar10NULLUser_idvarchar10NULL学校年级信息(schoolgrade_info):CREATETABLE[dbo]。[schoolgrade_info]( [grade_No][char](8)COLLATEChinese_PRC_CI_ASNOTNULL, [grade_name][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO表结构如下表所示:表4-4学校年级表结构图列称数据类型长度允许空Grade_nochar8NOTNULLGrade_namevarchar20NOTNULL年级课程信息表(gradecourse_info):CREATETABLE[dbo]。[gradecourse_info]( [grade_No][char](8)COLLATEChinese_PRC_CI_ASNULL, [course_No][int]NULL)ON[PRIMARY]GO表结构如下表所示:表4-5年级课程表结构图列称数据类型长度允许空Grade_nochar8NULLCourse_noint20NULL成绩信息表(result_info):CREATETABLE[dbo]。[result_Info]( [exam_No][char](10)COLLATEChinese_PRC_CI_ASNOTNULL, [student_Id][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL, [course_no][int]NOTNULL, [result][float]NOTNULL)ON[PRIMARY]GO表结构如下表所示:表4—6成绩表结构图列称数据类型长度允许空Exam_nochar10NOTNULLStudent_idvarchar15NOTNULLCourse_nointNOTNULLresultfloatNOTNULL课程信息表(course_info):CREATETABLE[dbo].[course_info]( [course_No][int]NOTNULL, [course_Name][varchar](30)COLLATEChinese_PRC_CI_ASNULL, [course_type][char](20)COLLATEChinese_PRC_CI_ASNULL, [course_des][varchar](60)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO表结构如下表所示:表4—7课程表结构图列称数据类型长度允许空Course_nointNOTNULLCourse_namevarchar30NULLCourse_typechar20NULLCourse_desvarchar60NULL学校信息表(school_info):CREATETABLE[dbo]。[school_info]( [school_name][varchar](12)COLLATEChinese_PRC_CI_ASNOTNULL, [school_tel][varchar](12)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO表结构如下表所示:表4-8学校信息表结构图列称数据类型长度允许空School_namevarchar12NOTNULLSchool_telvarchar12NOTNULLPAGE30第5章系统实施5。1模块设计添加一个标准模块ModConString和类模块OpenRs。ModConString部分主要包括定义一个数据库连接字符串。代码如下:'定义一个属性过程反映连接字符串PublicPropertyGetconString()AsVariantconString="IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Sims_four"EndProperty’定义一个提供者反映数据库类型PublicPropertyGetconProvide()AsVariantconProvide="SQLOLEDB.1"EndPropertyOpenRs部分主要包括定义一个打开数据库的类对象。代码如下:OptionExplicitPrivatecnSIMSAsADODB。ConnectionPrivatersSimsAsADODB。RecordsetPublicrs1AsADODB。RecordsetPublicrs2AsADODB。RecordsetPublicrstAsADODB。RecordsetPrivateDataAsObjectPrivateSubClass_Initialize()OnErrorGoToDbnotOpenSetcnSIMS=NewADODB。ConnectionWithcnSIMS.Provider=conProvide.ConnectionString=conString.ConnectionTimeout=10。OpenSetrst=NewADODB.RecordsetEndWithExitSubDbnotOpen:IfErr=—2147467259ThenSetcnSIMS=NothingMsgBox"连接后台数据库失败!”&vbCrLf&vbCrLf&"请检查配置是否完好,数据库Sims_four是否存在?”,vbOKOnly+vbInformation,"学生信息管理系统"EndEndIfEndSubPrivateSubClass_GetDataMember(DataMemberAsString,DataAsObject)SetData=rsSimsEndSubPublicFunctionrsDK(TableAsString)SetrsSims=NewADODB.RecordsetWithrsSims。Source=Table.ActiveConnection=cnSIMS.CursorType=adOpenKeyset。LockType=adLockOptimistic。Open,,,,adCmdTableEndWithEndFunctionPublicFunctionrsDK1(sqlAsString)Setrs1=NewADODB.RecordsetWithrs1.Source=sql.ActiveConnection=cnSIMS.CursorType=adOpenKeyset.LockType=adLockOptimistic。Open,,,,adCmdTextEndWithEndFunctionPublicFunctionrsDK2(sqlAsString)Setrs2=NewADODB.RecordsetWithrs2.Source=sql.ActiveConnection=cnSIMS.CursorType=adOpenStatic。LockType=adLockOptimistic。Open,,,,adCmdTextEndWithEndFunctionPrivateSubClass_Terminate()SetcnSIMS=NothingSetrs1=NothingSetrs2=NothingSetrsSims=NothingSetrst=NothingEndSub5.2登录窗体设计添加一个窗体(FrmLogin)。该部分主要包括用户的验证以及登录次数的限制。窗体运行情况如下图所示:图5-1登录图代码如下:DimMyLoginAsOpenRsDimUseridSQLAsStringDimLevelAsIntegerPublicCurrentUserAsStringPrivateSubCmdcancel_Click()UnloadMeEndSubPrivateSubcmdOK_Click()IftxtUserId.Text=""ThenMsgBox"请输入用户编号!",vbOKOnly+vbInformation,”用户登陆"txtUserId。SetFocusExitSubElseUseridSQL="select*fromUser_Infowhereuser_Id='”&txtUserId。Text&"’”MyLogin。rsDK1UseridSQL5.3主界面设计添加一个窗体(FrmMain)。该部分主要添加Trimer1、StatusBar、DNetMenu1控件和菜单编辑器。以用户名为1001、密码为123登录,窗体运行情况如下图所示:图5—2系统主界面图代码如下:DimMyinfoAsStringDimsuccessAsLongDimClassprintAsOpenRsPrivateSubmnuAddResult_Click()Frmresult。ShowEndSubPrivateSubmnuClassQuery_Click()FrmClassQuery.ShowEndSubPrivateSubmnuClassReport_Click()Classprint.rsDK1"selectc.class_no,s.grade_no,grade_name,u.user_id,user_namefromclass_infocinnerjoinschoolgrade_infosonc.grade_no=s.grade_noinnerjoinuser_infouonc。user_id=u。user_id"ClassReport。ShowSetClassReport.DataSource=Classprint.rs1EndSubPrivateSubmnuCourseQuery_Click()FrmCourseQuery。ShowEndSubPrivateSubmnuMatter_Click()'htmlhelphwnd,”sims.chm”,0,0EndSubPrivateSubmnuResultQuery_Click()FrmResultQuery.ShowEndSubPrivateSubmnuSchoolSet_Click()FrmSchoolInfo。ShowEndSubPrivateSubmnuSetClass_Click()FrmClassInfo.ShowEndSubPrivateSubmnuAddStudentInfo_Click()FrmAddStudentInfo.ShowEndSubPrivateSubmnuAddUser_Click()FrmAddUser。ShowEndSubPrivateSubmnuDeleteUser_Click()FrmDelUser。ShowEndSub5。3。1StatusBar1PrivateSubMDIForm_Load()DimmypanelAsPanelSetmypanel=StatusBar1.Panels.Add(1,,,sbrDate)'状态栏1显示日期Setmypanel=StatusBar1.Panels.Add(2)'状态栏2显示星期几CallMyWeekDaySetmypanel=StatusBar1.Panels。Add(3)StatusBar1.Panels(3)。Text="当前用户:”&FrmLogin。CurrentUsermypanel.AutoSize=sbrContentsSetmypanel=StatusBar1。Panels.Add(4)'状态栏3显示文本消息mypanel。AutoSize=sbrSpringEndSubPrivateSubMyWeekDay()SelectCaseWeekday(Date)Case1StatusBar1。Panels(2).Text=”星期日"Case2StatusBar1.Panels(2)。Text=”星期一"Case3StatusBar1。Panels(2).Text=”星期二"Case4StatusBar1。Panels(2).Text="星期三"Case5StatusBar1。Panels(2)。Text="星期四"Case6StatusBar1。Panels(2)。Text="星期五”Case7StatusBar1.Panels(2)。Text="星期六"EndSelectEndSub5。3。2Timer1PrivateSubTimer1_Timer()IfMyinfo=""ThenMyinfo=Space(85)&”欢迎使用学生信息管理系统!"EndIfMyinfo=Right(Myinfo,Len(Myinfo)-1)StatusBar1。Panels(4)。Text=MyinfoEndSub5.3.3菜单编辑器在主窗体上添加一个菜单编辑器,菜单结构、属性如下表所示:表5-1系统菜单图标题名称标题名称文件(&F)…注销…退出系统mnuFilemnulogoffmnuExit课程信息管理…课程信息设置…年级课程开设mnuCourseInfomnuSetCourseInfomnuSetCourse用户管理…用户添加…用户删除…用户修改mnuUserManagemnuAddUsermnuDeleteUsermnuModiPwd学籍信息管理…学籍信息设置mnuStudentInfomnuAddstudentInfo年级信息管理…学校年级设置…学校信息设置mnuGrademnuSetGrademnuSchoolSet成绩信息管理…成绩信息设置mnuResultmnuAddResult班级信息管理…班级信息设置mnuClassmnuSetClass查询管理…班级信息查询…课程信息查询…成绩信息查询…学籍信息查询mnuQuerymnuClassQuerymnuCourseQuerymnuResultQuerymnuStudentInfo统计报表中心…班级信息统计报表…学生信息统计报表mnuReportmnuClassReportmnuStudentReport5。4查询管理窗体设计5.4。1班级信息查询添加一个窗体(FrmClassQuery)该部分主要包括班级基本信息的查询.窗体运行情况如下图所示:图5-3班级信息查询图5.4。2课程信息查询添加一个窗体(FrmCourseQuer)该部分主要包括班级基本信息的查询。窗体运行情况如下图所示:图5-4课程信息查询图5.4。3成绩信息查询添加一个窗体(FrmResultQuer)该部分主要包括班级基本信息的查询.窗体运行情况如下图所示:图5-5成绩信息查询图5.4.4学籍信息查询添加一个窗体(FrmStudentInfoQuer)该部分主要包括班级基本信息的查询。窗体运行情况如下图所示:图5—6学籍信息查询图5。5用户信息管理5.5.1用户注册窗体设计添加一个窗体(FrmAddUser)。该部分主要完成用户的注册功能.窗体运行情况如下图所示:图5—7添加用户图代码如下:DimMyAddUserAsOpenRsDimChooseAsBooleanDimLevelAsIntegerPrivateSubCmdcancel_Click()UnloadMeEndSubPrivateSubcmdComp_Click()’完成按钮MyAddUser.rs1.AddNewMyAddUser。rs1!user_id=Trim(txtUserId.Text)MyAddUser.rs1!user_name=Trim(txtUserName)MyAddUser。rs1!user_des=Trim(txtUserdes.Text)MyAddUser。rs1!user_pwd=Trim(txtPwd1。Text)MyAddUser.rs1!user_level=LevelMyAddUser。rs1.UpdateIfMsgBox("添加用户成功!”&vbCrLf&vbCrLf&”是否继续添加用户?”,vbYesNo+vbQuestion,"添加用户”)=vbYesThenFrame3。Visible=FalsecmdComp.Visible=FalseFrame1.Visible=TruecmdNext.Visible=TruetxtUserId.SetFocusCallClearTextElseUnloadMeEndIfEndSub5。5.2密码修改窗体设计添加一个窗体(FrmModiPass)该部分主要完成用户密码修改的功能。情况如下图所示:图5—8修改密码图代码如下:PrivateSubcmdOK_Click()IftxtUserId.Text=”"ThenMsgBox"请输入用户编号!”,vbOKOnly+vbInformation,"修改密码”txtUserId。SetFocusExitSubEndIfIftxtUserName。Text=""ThenMsgBox"用户编号不存在!",vbOKOnly+vbInformation,”修改密码"txtUserId。Text=””txtUserId.SetFocusExitSubEndIfIftxtOldPass.Text="”ThenMsgBox”请输入旧密码!",vbOKOnly+vbInformation,"修改密码"txtOldPass。SetFocusExitSubEndIfIftxtNewPass。Text=”"ThenMsgBox”请输入新密码!",vbOKOnly+vbInformation,"修改密码"txtNewPass。SetFocusExitSubEndIfIftxtNewPass1.Text="”ThenMsgBox"请输入新密码!”,vbOKOnly+vbInformation,"修改密码"txtNewPass1.SetFocusExitSubEndIfIftxtNewPass.Text=txtNewPass1。TextThenModipass。rs1!user_pwd=txtNewPass.TextModipass.rs1.UpdateMsgBox"密码修改成功!",vbOKOnly+vbInformation,”修改密码”txtUserId。Text=””txtUserId。SetFocusElseMsgBox”两次输入的密码不一致,请重新输入!”,vbOKOnly+vbInformation,”修改密码"txtNewPass.Text=””txtNewPass1.Text=””txtNewPass.SetFocusEndIfEndIfEndSubPrivateSubtxtNewPass_KeyPress(KeyAsciiAsInteger)IfKeyAscii=39ThenKeyAscii=0ElseIfKeyAscii=13ThentxtNewPass1.SetFocusEndIfEndSub5.6学籍信息管理窗体设计添加一个窗体(FrmAddStudentInfo)该部分主要完成学生学籍信息的增、删、改的操作.窗体运行情况如下图所示:图4-9学籍信息管理图部分代码如下:PrivateSubcmdAdd_Click()IfcmdAdd。Caption=”添加(&A)"ThenCallClearTextcmdAdd.Caption=”取消(&C)"Frame2。Enabled=TrueChange=TruetxtstudentName。SetFocuscmdSave。Caption="保存(&S)"cmdSave.Enabled=TruecmdDel.Enabled=FalseElseCallClearTextcmdAdd。Caption="添加(&A)"Frame2。Enabled=FalsecmdSave.Caption=”保存(&S)”cmdSave。Enabled=FalsecmdDel。Enabled=FalseEndIfEndSubPrivateSubcmdDel_Click()myModiStudent。rsDK1”SELECT*FROMstudent_infowherestudent_id=’”&txtStudentId。Text&"’"IfMsgBox(”确认要删除该记录吗?”,vbQuestion+vbOKCancel,"删除记录")=vbOKThenmyModiStudent。rs1。DeleteElseExitSubEndIfCallClearTextcmdSave。Caption=”保存(&S)"myModiStudent.rsDK1"SELECT*FROMstudent_info"IfmyModiStudent。rs1。EOFThenStudentGrid.ClearStudentGrid。FormatString=”|学号|姓名|性别|出生日期|班号|联系电话|入校时间|家庭住址|ElseSetStudentGrid.DataSource=myModiStudent。rs1StudentGrid。FormatString=”|

温馨提示

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

评论

0/150

提交评论