基于vb和sql2005的数据库课程设计_第1页
基于vb和sql2005的数据库课程设计_第2页
基于vb和sql2005的数据库课程设计_第3页
基于vb和sql2005的数据库课程设计_第4页
基于vb和sql2005的数据库课程设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、*大学*课程设计题 目: 系 别:  专业、 班级:  姓 名:  学 号:  指 导 教 师:  完 成 时 间:  目 录摘 要1第一章 系统概述11.1引言 1.1.1 课题介绍1 1.1.2 课题目的及意义1 1.1.3 研究方法、发展趋势1 1.2 开发环境、工具介绍2 1.2.1 Visual Basic 6.02 1.2.2 SQL Server 2005 简介41.2.3 SQL Server 2005数据库特点51.3 ADO 对象概述61.3.1 利用ADO开发网络数据库应用程序61.3.2 ADO组件的主要对象及

2、其功能71.3.3 用来操控数据的SQL命令71.4 基本功能概述8第二章 系统分析92.1 数据字典 102.2 系统E-R图102.3 逻辑结构设计102.4 数据库设计11第三章 功能分析123.1 系统功能分析93.2 系统结构图93.3 系统功能流程图9第四章 系统实现124.1 模块设计124.2 登录窗体设计144.3 主界面设计164.3.1 ImageLis194.3.2 Toolbar194.3.3 StatusBar194.3.4 菜单编辑器194.4 数据库维护窗体设计204.5 管理员信息管理214.5.1 管理员注册窗体设计214.5.2 密码修改窗体设计234.6

3、 学生基本情况更新窗体设计254.7 学生基本情况维护窗体设计294.7.1 数据环境314.7.2 DateReport1设计314.7.3 班级查找对话框324.8 成绩维护窗体设计334.8.1 DateReport2设计354.8.2 班级查找对话框354.9关于系统和系统帮助窗体设计37第五章 总结38结束语39参考文献40摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管理信息系统的理论和方法

4、指导下、数据库技术支持下完成的。本文在结构上首先论述了毕业设计选题的背景、目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用表格和图片的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的输入、输出,数据的修改、查询以及打印报表等功能,本系统界面友好,操作简单,比较实用。关键词:控件;窗体;报表;关系数据库管理系统;VB。- 0 -课程设计第一章 系统概述1.1引言 1.1.1 课题介绍高校学生信息的管理是一项既重要又繁琐的工作。为更好的做好这项工作,提过工作效率,更好的为学校的发展和一线教学服务,决定:结合我校实际情况,自行研制一个学生信息管理系

5、统。 1.1.2 课题目的及意义由于现今的学生信息管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学生信息管理系统。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全等等。为了解决传统学生信息的管理正面临着的这些问题,我所设计的学生信息管理系统也就应运而生了。 1.1.

6、3 研究方法、发展趋势本系统采用功能分析法即通过说明社会现象怎样满足一个社会系统的需要(即具有怎样的功能)来解释社会现象和CS模式共同完成。现代教育技术特别是网络与多媒体技术的发展,对学习活动产生了具有深远意义的冲击,人们可以选择或者设计适合其学习特点的信息采集、加工与重组方式。本系统采用CS模式,在某些方面还不是表现的很好,但未来有关学生信息管理的应该采用多层架构的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持Internet功能、远程访问功能,采用先进的CS和BS模式共同开发,支持有关学校信息交流、日常教学、教务管理等的各种应用,提供一个基于校园内联网中支持各种类型的学

7、校应用产品的服务平台和开发平台,基本目标是在学校内部和外部建立起顺畅的信息通道,让信息技术成为推动教育生产力的有力工具,提高学校的管理水平和效率,同时充分利用全球的教育资源为学校的教育服务,克服目前大部分学校的校园网建设只起到宣传作用的通病。1.2 开发环境、工具介绍该软件是在Windows 7 + Visual Basic 6.0 + SQL Server 2005的环境下完成的。下面就对这些开发工具进行介绍: 1.2.1 Visual Basic 6.0微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual

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

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

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

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

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

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

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

15、直接控制Jet数据库引擎,配合数据库控件,能够开发出更具弹性且高效率的数据应用程序。RDO是处理远程数据库的一些专门需要的对象集合。使用RDO可以不用本地的查询机就能访问ODBC数据源,这无疑将大大提高应用程序的性能。ADO是VB6.0中新增的对象,它是一个更简单的对象模型,它更好的集成了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代DAO和RDO。ADO更易于使用。我们在本系统中利用数据管理器创建了数据库及数据库表,并采用了ADO数据访问技术。 1.2.2 SQL Server 2005 简介SQL Server 2005是微软公司比较稳定的大型数据库服务器,其性能指标在各

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

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

18、Server 2005可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。 1.2.3 SQL Server 2005数据库特点概括起来,SQL Server 2005数据库管理系统具有以下主要特点。1)、丰富的图形管理工具,使系统管理、操作更为直观方便。SQL Server企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQL Server服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQL Server 2005还提供了SQL事件探查器、SQL查询分析器、SQL Server服务管理器和多种操作

19、向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。2)、动态自动管理和优化功能。即使SQL Server数据库管理员不做任何设置,SQL Server也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。3)、充分的Internet技术支持。Internet网络发展到今天已经成为一条重要的信息发布渠道,SQL Server增强了对Internet技术支持,它除保留了前期版本中的数据库Web出版工具“Web助手”外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQL Server数据库系统,也扩展了SQL

20、Server在数据挖掘和分析服务领域的应用。4)、丰富的编程接口工具,使用户开发SQL Server数据库应用程序更加灵活。SQL Server提供了Transact-SQL、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 2005既能运行在Windows桌面操作系统下

21、,又可运行在服务器操作系统(包括Windows NT和Windows 2000)下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。1.3 ADO 对象概述ADO对象能够存取到数据库的内容,首先要求数据库的驱动程序( ODBC驱动程序与OLE DB驱动程序)必须安装上,否则,ADO对象是无法存取数据库中内容,其原理示意图如下图所示:客户端客户端客户端ADO对象各种数据库所对应的驱动程序各种数据库(如Access、SQL Server以及Oracle等)请注意:上图中的“各种数据库所对应的驱动程序”即O

22、DBC驱动程序与OLE DB驱动程序。1.3.1 利用ADO开发网络数据库应用程序ADO(Active Date Objects,即ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component)。可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示”的最新Web数据库技术。要执行ADO,服务器端必须安装Windows NT Server 和Internet Information Server(IIS),而客户端只要有IE或NETSCAPE较新版本的浏览器即

23、可。利用ADO开发网络数据库应用程序有以下几个优点:1)、支持客户机/服务器结构(Client/Server)与Web系统开发技术。2)、内部有多个互相独立的对象模型。3)、支持分批修改数据库内容。4)、支持多种不同的数据控制指标形式。5)、先进的Recordset数据高速缓存管理功能。6)、允许在程序中使用多个Recordset对象或者多个分批修改区块传送。7)、ADO属于Free_threaded对象,利用它可以开发出更有效的Web应用程序。1.3.2 ADO组件的主要对象及其功能ADO组件又称为数据库访问组件,它提供了以下七种对象:1)、Connection对象:提供对数据库的连接服务。

24、2)、Command对象:定义对数据库源操作的命令。3)、Recordset对象:由数据库服务器所返回的记录集。Recordset对象的LockType属性的设置值如下表所示:常量值说明adLockReadOnly1默认值,只读。无法更改数据adLockPressimistic2保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用立即锁定数据源的记录的方式。adLockOptimistic3开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用Updata方法时锁定记录。adLockBatchOptimistic4开放式批更新。用于与立即更新模式相反的批更新模式。4)、Fie

25、lds对象:由数据库服务器所返回的单一数据字段5)、Parametes对象:表示Command对象的参数。6)、Property对象:单独的一个Property对象,提供属性功能。7)、Error对象:提供处理错误的功能。使用ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行更新、删除、添加数据等操作,获取ODBC的错误信息等。1.3.3 用来操控数据的SQL命令SQL命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,比一般的计算机程序语言简单的多。SQL命令主要分成两部分:DDL(Data Definition Language)和DML(Data

26、Manipulation Language),其中DDL是建立数据表及数据列的指令群,而DML则是操作数据库记录的指令群,如数据库记录的添加、更新、删除、和查询等。SQL命令,包括Select、Delete、Update、Insert Into、Select Into等。1)、筛选及排序记录的Select指令基本句型一:Select 字段串列 From 数据表基本句型二:Select From Where 筛选条件基本句型三:Select From Order By字段串列Select Top:限定选取数据的条数2)、删除数据记录的Delete指令基本语法:Delete From 数据表 Wh

27、ere 条件式3)、更新数据记录的Update指令基本语法:Update 数据表Set 表达式4)、增加数据记录的Insert Into 指令基本句型一:Insert Into 数据表 (字段串列) Values (字段串列)基本句型二:Insert Into 数据表 (字段1,字段2,字段n) Select 5)、建立新数据表的Select Into 指令该指令与“Insert Into Select ”指令的区别是,这个指令将建立另一个新的数据表,而Insert Into是增加数据记录到“现存的”数据表中。1.4 基本功能概述本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系

28、统管理员、普通用户。主要涉及学生基本信息、课程信息以及成绩信息等多种数据信息。 实现的具体功能如下:l 学生基本信息管理系统管理员可以对各种基本信息的添加、修改、删除等操作。l 学生成绩管理系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。l 课程信息管理系统管理员负责对课程信息的录入、修改、删除等操作,学生可以查询课程。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。第二章 系统分析2.1数据字典数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所

29、用到的所有表结构的描述,学籍管理的主要数据见下表。表 2.1 学生基本信息表序号字段数据类型数据长度主键1学号nchar10Y2姓名nchar10N3性别nchar4N4出生日期nchar10N5籍贯nchar10N6专业nchar10N7班级nchar10N8系别nchar10N表 2.2 课程信息表序号字段数据类型数据长度主键1序号nchar10N2课程号nchar10Y3课程名nchar10N4学时nchar10N5学分nchar10N表 2.3 成绩信息表序号字段数据类型数据长度主键1序号intY2学号nchar10N3课程号nchar10N4课程名nchar10N5成绩nchar10

30、N6补考成绩nchar10N表 2.4 管理员信息表序号字段数据类型数据长度主键1姓名nchar10Y2密码nchar10N表 2.4 普通用户信息表序号字段数据类型数据长度主键1姓名nchar10Y2密码nchar10N2.2 E-R图 局部E-R图学生学号姓名性别出生日期籍贯专业班级系别课程课程名课程号 学时学分序号整体E-R图学生学号姓名性别出生日期籍贯专业班级系别选课学号课程号 课程名课程号课程名成绩序号课程补考成绩学分学时2.3逻辑结构设计将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。

31、实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系则有以下不同的情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码

32、。(3)一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:n 学生(学号,姓名,性别,出生日期,籍贯,班级,专业,系别),此为学生实体对应的关系模式。n 课程(序号,课程号,课程名,学时,学分),此为课程实体对应的关系模式。n 选课(学号,课程号

33、,课程名,成绩,补考成绩),此为选课关系对应的关系模式。2.4数据库设计在系统设计过程中,首先要建立的就是数据库。本数据库采用SQL Server2005来构造,共使用了5个表,它们分别是学生基本信息表(stu)、课程信息表(course)、成绩信息表(score)、管理员信息表(admin)、普通用户信息表(user)。1)、学生基本信息表(stu):表结构如下表所示:2)、课程信息表(course):表结构如下表所示:3)、成绩信息表(score):表结构如下表所示:4)、管理员信息表(admin):5)、普通用户信息表(user):第三章 功能分析3.1 系统功能分析随着学校的规模不断扩

34、大,学生数量不断增加,有关学生的学籍信息量也成倍增长。面对庞大的信息量就需要有一个学籍信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、查询、修改、增加、删除等,从而减少管理方面的工作量。设计内容为管理员或普通用户登录该系统进行五个模块操作:1) 登录模块:可以普通用户或者管理员的身份登录2) 学籍信息查询:以普通用户登录可以进行查询操作3) 学生基本信息维护:增加、修改、删除、查询4)课程信息维护:增加、修改、删除、查询5)成绩信息维护:增加、修改、删除、查询3.2 系统功能模块结构图本系统主要包括学生基本信息维护,课程信息维护、成绩信息维护、学籍信息查询、系统登录

35、模块5个大的模块,各个模块的具体功能如下图所示:学籍管理系统学生基本信息维护学籍信息查询课程信息维护成绩信息维护系统登录学生基本信息添加学生基本信息删除学生基本信息修改课程信息添加课程信息删除课程信息修改成绩信息添加成绩信息删除成绩信息修改学生基本信息查询课程信息查询成绩信息查询3.3系统功能流程图学籍管理系统系统登录普通用户登录管理员登录学生基本信息查询课程信息查询成绩信息查询返 回基本信息操作课程信息操作成绩信息操作添加删除修改返回添加删除修改返回添加删除修改返回第四章 系统实现本部分主要内容为本系统的各个运行界面以及主要界面的源代码4.1 系统登录模块设计4.1.1添加一个窗体(star

36、t)。该部分是选择登录模式的界面。窗体运行情况如下图所示:主要代码如下:Private Sub Command1_Click() Unload Me ' 关闭主界面 userLogin.ShowEnd SubPrivate Sub Command2_Click()Unload Me ' 关闭主界面 adminLogin.ShowEnd Sub4.1.2如果选择普通用户登陆,会启动普通用户登录界面(userlogin)窗体。点击确定键系统会将输入的用户名和密码与数据库中的记录进行比较,存在的用户名和密码才允许登陆。窗体运行情况如下图所示:主要代码如下:Public LoginSu

37、cceeded As Boolean'定义连接对象和记录集Dim conn As ADODB.ConnectionDim rs As ADODB.Recordset'对取消按钮单击事件的响应Private Sub cmdCancel_Click()'不提示失败的登录LoginSucceeded = FalseMe.Hidestart.ShowEnd Sub'对登录按钮单击事件的响应Private Sub cmdOK_Click()Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordset'建立无

38、源数据库连接conn.ConnectionString = "driver=sql server;server=PC201501142238;uid=sa;pwd=sa;Database=xueji"conn.ConnectionTimeout = 50conn.OpenDim str As String'连接连接对象Set rs.ActiveConnection = conn'设置游标类型rs.CursorType = adOpenDynamicIf Trim(txtUserName1.Text = "") Or Trim(txtPas

39、sword1.Text = "") ThenMsgBox "用户名或密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"txtUserName1.SetFocusElse'设置查询字符串str = "select * from user where 姓名 ='" & Trim(txtUserName1.Text) & "'"rs.Open strIf rs.EOF = True ThenMsgBox "没有

40、这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName1.SetFocusElse'登录成功,连接主窗口If (Trim(txtPassword1.Text) = Trim(rs.Fields("密码") ThenLoginSucceeded = TrueMe.Hideusermain.ShowElseMsgBox "密码不正确,请重输入密码!", , "警告"txtPassword1.SetFocusSendKeys "H

41、ome+End"End IfEnd IfEnd IfEnd Sub 4.1.3如果选择管理员登陆,会启动管理员登录界面(adminlogin)窗体。点击确定键系统会将输入的用户名和密码与数据库中的记录进行比较,存在的用户名和密码才允许登陆。窗体运行情况如下图所示:主要代码如下:Public LoginSucceeded As Boolean'定义连接对象和记录集Dim conn As ADODB.ConnectionDim rs As ADODB.Recordset'对取消按钮单击事件的响应Private Sub cmdCancel_Click()'不提示失败

42、的登录LoginSucceeded = FalseMe.Hidestart.ShowEnd Sub'对登录按钮单击事件的响应Private Sub cmdOK_Click()Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordset'建立无源数据库连接conn.ConnectionString="driver=sql server;server=PC201501142238;uid=sa;pwd=sa;Database=xueji"conn.ConnectionTimeout = 50conn.Op

43、enDim str As String'连接连接对象Set rs.ActiveConnection = conn'设置游标类型rs.CursorType = adOpenDynamicIf Trim(txtUserName.Text = "") Or Trim(txtPassword.Text = "") ThenMsgBox "用户名或密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"txtUserName.SetFocusElse'设置查询字符串

44、str = "select * from admin where 姓名 ='" & Trim(txtUserName.Text) & "'"rs.Open strIf rs.EOF = True ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocusElse'登录成功,连接主窗口If (Trim(txtPassword.Text) = Trim(rs.Fields(&

45、quot;密码") ThenLoginSucceeded = TrueMe.Hideadminmain.ShowElseMsgBox "密码不正确,请重输入密码!", , "警告"txtPassword.SetFocusSendKeys "Home+End"End IfEnd IfEnd IfEnd Sub4.2 学籍信息查询模块设计以普通用户身份登陆,会启动学籍信息查询模块。4.2.1添加一个窗体(usermain)。该部分主要添加基本信息查询、课程信息查询、成绩信息查询三个按钮。如下图所示:主要代码如下:Private

46、Sub Command1_Click()Unload Me ' 关闭主界面userinfo1.ShowEnd SubPrivate Sub Command2_Click()Unload Me ' 关闭主界面userinfo2.ShowEnd SubPrivate Sub Command3_Click()Unload Me ' 关闭主界面userinfo3.ShowEnd SubPrivate Sub Command4_Click()Unload Me ' 关闭主界面start.ShowEnd Sub4.2.2点击“基本信息查询”按钮,会启动基本信息查询(user

47、info1)窗体。该窗体主要通过ADODC控件连接数据库,定义查询语句,显示学生基本信息。窗体运行情况如下图所示:主要代码如下:Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)End Sub' 首记录Private Sub Command1_Click()Adodc1.Recordset.MoveFirstEnd Sub' 上一条Private Su

48、b Command2_Click() Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF ThenAdodc1.Recordset.MoveFirstMsgBox "已经是第一条"End IfEnd Sub' 下一条Private Sub Command3_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastMsgBox "已经是最后一条"End IfEnd Sub'

49、 尾记录Private Sub Command4_Click()Adodc1.Recordset.MoveLastEnd Sub' 返回Private Sub Command5_Click() Unload Me ' 关闭主界面 usermain.ShowEnd Sub 数据库维护窗体设计添加一个窗体(frm_beifen)、一个CommonDialog控件。该部分主要包括数据库的备份与还原。窗体运行情况如下图所示:代码如下:Private Sub Command1_Click() '备份按钮Dim backUpFileName As String &#

50、39;变量声明CommonDialog1.DialogTitle = "备份文件" '设置对话框的标题CommonDialog1.Filter = "*.*"CommonDialog1.ShowSave '设置对话框的按钮类型为保存backUpFileName = CommonDialog1.FileName '将保存的文件名赋给变量If CommonDialog1.FileName = "" ThenMsgBox ("文件名不能为空,请输入文件名 ")CommonDialog1.ShowS

51、aveElse conn.Execute ("backup database library to disk='" & backUpFileName & "'") '执行备份语句 MsgBox ("备份成功")End IfEnd SubPrivate Sub Command2_Click() '还原按钮conn.Closeconn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=F

52、alse;Initial Catalog=master;Data Source=" & GetPcName() '借助master数据库来恢复CommonDialog1.DialogTitle = "还原的文件名"CommonDialog1.Filter = "*.*"backUpFileName = CommonDialog1.FileNameCommonDialog1.ShowOpen rec.Open "select spid from sysprocesses where dbid=db_id('mao

53、keyang')", conn '查询是否有maokeyang数据库,找出进程号 Do While Not rec.EOF conn.Execute "kill" & reco("spid") '结束sql服务器的所有连接,否则会出现:数据库正在使用,无法完成排它操作等等 reco.MoveNext Loop conn.Execute ("restore database maokeyang from disk='" & backUpFileName & "&

54、#39; ") '还原数据库MsgBox ("数据库已还原")reco.Closeconn.Closeconn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=" & GetPcName() '借助master数据库来恢复End Sub4.5 管理员信息管理该部分包括管理员注册和密码修改的管理4.5.1 管理员注册窗体设计添加一个窗体(frm_

55、regist)。该部分主要完成管理员的注册功能。窗体运行情况如下图所示:代码如下:Private Sub Command1_Click() '确认按钮If Text3.Text <> Text2.Text ThenMsgBox "两次输入的新密码不同,请重新输入!", vbOKOnly + vbExclamation, "警告"Text2.SetFocusText2.Text = ""Text3.Text = ""Exit SubEnd If With reco .Open "select * from admin", conn, 1, 3 .AddNew .Fields("name") = Trim(Text1.Text) .Fields("password") = Trim(T

温馨提示

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

评论

0/150

提交评论