1、摘 要2第一章 绪 论31.1引 言31.2设计目的及意义3第二章 开发环境和工具42.1 Visual Basic简介42.1.1 Visual Basic语言特性52.2 SQL server 2005简介62.2.1 SQL server 2005数据库特点6第三章 系统分析73.1系统及需求分析83.1.1系统需求83.1.2需求分析83.2 可行性分析93.2.1经济可行性分析93.2.2技术可行性分析93.3系统功能流程图10第四章 数据库的设计104.1数据库设计104.1.1各表的物理结构114.2数据库链接124.2.1数据库链接代码124.2.2数据库链接操作124.3数据
2、库调试14第五章 主要内容155.1登录界面155.2学生成绩管理界面185.3学生信息管理215.3.1学生信息添加215.3.2学生信息修改245.3.3学生信息删除265.3.4学生信息查询275.4登录用户管理285.4.1普通用户管理285.4.2高级用户管理295.4.3超级用户管理305.5用户注册345.6帮助界面36总 结37参考文献38摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管
3、理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了毕业设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到学生信息的管理的目的。关键词:VB,SQL server2005,界面,权限。第一章 绪 论1.1引 言人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也不过10年的时间。但是,计算机和网络对社会的影响已经迅速扩大,甚
4、至在改变人们的生活。特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。正像著名的未来学家尼葛洛庞帝(1997)所说的:“数字不再只和计算有关,它决定我们的生存。”科学技术是第一生产力,是最先进的生产力。现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。目前,在社会各个方面都呈现出了与工业社会显著不同的特点。网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生极大的冲击。使人们感受到技术发展的脉搏和信息时代前进的步伐。随着
5、学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。1.2设计目的及意义本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。本系统主要包括注册管理、界面管理、学生信息查询、添加、修改、删除和帮助等部分。其功能主要有: 学生信息的添加,包括输入学
6、生基本信息和成绩。 学生信息的查询,包括查询学生基本信息和成绩。 学生信息的修改,包括修改学生基本信息和成绩。 学生信息的删除,包括修改学生基本信息和成绩。 用户名注册,包括普通用户注册、高级用户注册和超级用户注册。 登录用户密码修改,用户登录到系统可进行相应的用户密码修改。 超级用户对用户名的管理,包括添加新用户、修改用户密码、删除用户名和查询用户。学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOF
7、T公司的Visual Basic2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。第二章 开发环境和工具2.1 Visual Basic简介Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使
8、用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。2.1.1 Visual Basic语言特性一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经
9、越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功
10、能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控
11、件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。2.2 SQL server 2005简介SQL Server 2005是微软公司比较稳定的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与Windows NT/2000平台紧密集成,具有完全的Web功能。通过对高端硬件平台、网络和存储技术的支持,为WEB站和企业的应用最大限度地提供了可扩展性和高可靠性,能在Internet商业领域快速建立并应用。此外,还增强了安全性,保护防火墙内外的数据。支持基于角色的安全并拥有安全审计工具。在经历了SQ
12、L Server 6.5和7.0两个版本的尝试后,微软公司终于开始了大规模的业务。记得在以前各种关于SQL Server的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。其实这是一种误解。在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQL Server可以说成为了开发者手中的一柄利器!另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。这其实对
13、于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。SQL Server 2005提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。另外,SQL Server 2005可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。2.2.1 SQL server 2005数据库特点概括起来,SQL Server 2005数据库管理系统具有以下主要特点。1)、丰富的图形管理工具,使系统管理、操作更为直观方便。SQL Server企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQL Server服务器、管理数据库和数据库对
14、象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQL Server 2005还提供了SQL事件探查器、SQL查询分析器、SQL Server服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。2)、动态自动管理和优化功能。即使SQL Server数据库管理员不做任何设置,SQL Server也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。3)、充分的Internet技术支持。Internet网络发展到今天已经成为一条重要的信息发布渠道,SQL Server增强了对Internet技术支持
15、,它除保留了前期版本中的数据库Web出版工具“Web助手”外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQL Server数据库系统,也扩展了SQL Server在数据挖掘和分析服务领域的应用。4)、丰富的编程接口工具,使用户开发SQL Server数据库应用程序更加灵活。SQL Server提供了Transact-SQL、DB-Library for C、嵌入式SQL(ESQL)等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQL Server 2000还支持ODBC、OLE DB、
16、ADO规范,可以使用ODBC、OLE DB、ADO接口访问SQL Server数据库。5)、具有很好的伸缩性和可靠性。SQL Server 2005既能运行在Windows桌面操作系统下,又可运行在服务器操作系统(包括Windows NT和Windows 2000)下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。第三章 系统分析本学生成绩管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生信息管理、学生成绩管理、用户权限管理等多种功能,因而具有较强的实用性。3.1系统及需求分析3.1.1系
17、统需求通过调查,要求系统需要有以下功能: 要求有良好的人机交互界面; 由于该系统使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便,数据稳定性好; 数据计算自动完成,尽量减少人工干预。3.1.2需求分析目前计算机管理在日常生活中的地位变得越来越重要。它能够代替人做各种重复、繁琐的劳动,并且拥有操作简单、可信度好、不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。学生信息查询是每个学校必须面临的问题,所以,如何开发一个应用简单、界面友好、容易操作、数据安全性好的管理系统就成为非常重要的技术问题。学
18、生成绩管理系统的设计与实现,是在班级学生处数据库基础上,只对学生成绩信息进行管理的一个系统,是对学校教务管理系统的补充,主要是针对辅导员的需要,主要包括三个用户群:普通用户、高级用户、超级用户。普通用户,主要的需求有学生成绩查询、学生基本信息查询、普通用户密码修改。高级用户,主要的需求有学生成绩管理、学生信息管理、普通用户和高级用户密码修改。超级用户,主要的需求有学生成绩管理、学生信息管理、登录用户名管理。3.2 可行性分析由于本系统管理的对象单一,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别
19、是网上资料,特别是参考其它程序的功能,因此完全可以实现。3.2.1经济可行性分析随着科学技术的不断发展与创新,计算机作用的日益突显,计算机软件成为人们解决问题的一个有效手段,当然,它的作用也越来越重要。在当今信息时代,国民经济和国防建设、社会发展、人民生活都离不开软件,软件也无处不在。软件产业也是一个新兴产业,尽管起步晚,但是发展迅速,已经成为增长最快的产业,是具有高投入/高产出、无污染、低能耗的绿色产业。学生成绩管理系统是一个基于教务处数据库的一个管理系统,对已经使用的类似的系统进调查分析、类比,本课题具有的特点:开发工作量小,可以有两个人合作开发或一个人独立开发,开发周期短,有熟练的开发人
20、员一个月就可以完成系统的开发与测试。3.2.2技术可行性分析从技术方面来说,Visual Basic2005是一个企业级的、面向对象的快速应用开发工具,是数据库最优秀的开发工具之一。Visual Basic2005完全支持面向对象的开发,它拥有多种数据库接口,可以非常方便地连接的各种数据源,再加之其专利产品Data Window(数据窗口),通过SQL语句即可轻松地查询和更新后台数据库中的数据。Visual Basic2005基于组件的开发增强了面向对象的技术,他提供一个更有效的封装、管理、重用和扩展企业规则和处理的高层途径。在数据操作方面,选择灵活、易用的Microsoft SQL serv
21、er2005数据源。3.3系统功能流程图本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个权限型管理系统。学生成绩管理系统用户查询用户删除用户修改用户添加普通用户管理高级用户管理超级用户管理登录用户管理系统查询删除修改添加学生信息管理系统用户注册帮助文件帮助学生成绩管理系统界面模式界面返回界面退出学生成绩管理系统用户登录图2.1 系统功能流程第四章 数据库的设计4.1数据库设计本系统的数据库是SQL server数据库,在SQL环境下创建数据库学生信息库.mdf文件。该数据库包括学生信息表、成绩信息表、用户登录信
22、息表用于纪录学生的基本信息数据库表结构如下所示:4.1.1各表的物理结构表3.1.1 学生信息表表3.1.1 学生成绩表1表3.1.1 学生档案表2表3.1.1 用户登录表4.2数据库链接4.2.1数据库链接代码Module Module1 Public admin As Boolean = True Public adminis As String Public grade As String Public Function link(ByVal i) As DataTable Dim sqlcon As New SqlConnection(data source=PC-2011031713
23、05SQLEXPRESS;database=学生信息库;user id=sa;pwd=) 用连接对象连接数据库 Dim sqlad As SqlDataAdapter Dim ds As DataTable sqlad = New SqlDataAdapter(i, sqlcon) ds = New DataTable 数据集对象 Try sqlad.Fill(ds) 添加数据 Catch ex As Exception MessageBox.Show(ex.Message + Chr(10) + Chr(13) + ex.StackTrace) End Try Return ds End F
24、unctionEnd Module4.2.2数据库链接操作第一步:附加数据库(对已经建好的数据库进行附加)点击数据库右键附加。图附加数据库第二部:安全性设置,展开安全性,sa用户点击右键属性,进行安全性设置(密码设置、默认数据库设置),状态选择登录启用。图 安全性设置第三步:服务器属性设置,右击服务器属性,进行安全性设置。图 服务器属性设置第四步:重启服务器。右击服务器,选择重启服务器。图 重启服务器4.3数据库调试数据库成功附加、安全性设置、重启。图 数据库第五章 主要内容5.1登录界面图4.1登录界面设计过程:用于输入用户名和密码登录,选择相应的用户类型进入系统,若是用户类型选择错误则不能
25、进入系统。没有用户名的可注册用户名,如对系统操作有不了解的可点击帮助,进入帮助界面。输入用户名和密码后点击确定判断数据库中的用户是否为合法用户。设计代码:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 选择普通用户登录 If Me.RadioButton1.Checked Then Dim str As String str = data source=PC-201103171305SQLEXPRESS;database=学生信
26、息库;user id=sa;pwd= Dim con As New SqlClient.SqlConnection(str) Try con.Open() Catch ex As Exception End Try Dim sql As String = select * from 普通用户where 用户名= & TextBox1.Text.ToString().Trim() & and 密码= & TextBox2.Text.ToString().Trim() & Dim cmd As New SqlClient.SqlCommand(sql, con) Dim reader As Sql
27、Client.SqlDataReader Try reader = cmd.ExecuteReader If reader.Read() = True Then Dim 学生成绩管理系统As New 学生信息管理系统 学生成绩管理系统.添加DToolStripMenuItem.Enabled = False 学生成绩管理系统.修改KToolStripMenuItem.Enabled = False 学生成绩管理系统.删除DToolStripMenuItem.Enabled = False 学生成绩管理系统.添加ToolStripMenuItem.Enabled = False 学生成绩管理系统
28、.高级用户信息管理ToolStripMenuItem.Enabled = False 学生成绩管理系统.Show() Me.Hide() Else MsgBox(对不起,用户名或密码错误!重新输入(请正确选择用户类型), 16, 警告) Me.TextBox1.Text = Me.TextBox2.Text = TextBox1.Focus() End If Catch ex As Exception End Try End If 选择高级用户登录 If Me.RadioButton2.Checked Then Dim str As String str = data source=PC-20
29、1103171305SQLEXPRESS;database=学生信息库;user id=sa;pwd= Dim con As New SqlClient.SqlConnection(str) Try con.Open() Catch ex As Exception End Try Dim sql As String = select * from 高级用户where 用户名= & TextBox1.Text.ToString().Trim() & and 密码= & TextBox2.Text.ToString().Trim() & Dim cmd As New SqlClient.SqlCo
30、mmand(sql, con) Dim reader As SqlClient.SqlDataReader Try reader = cmd.ExecuteReader If reader.Read() = True Then Dim 学生成绩管理系统As New 学生信息管理系统 学生成绩管理系统.添加ToolStripMenuItem.Enabled = False 学生成绩管理系统.Show() Me.Hide() Else MsgBox(对不起,用户名或密码错误!重新输入(请正确选择用户类型), 16, 警告) Me.TextBox1.Text = Me.TextBox2.Text =
31、 TextBox1.Focus() End If Catch ex As Exception End Try End If 选择超级用户登录 If Me.RadioButton3.Checked Then Dim str As String str = data source=PC-201103171305SQLEXPRESS;database=学生信息库;user id=sa;pwd= Dim con As New SqlClient.SqlConnection(str) Try con.Open() Catch ex As Exception End Try Dim sql As Stri
32、ng = select * from 超级用户where 用户名= & TextBox1.Text.ToString().Trim() & and 密码= & TextBox2.Text.ToString().Trim() & Dim cmd As New SqlClient.SqlCommand(sql, con) Dim reader As SqlClient.SqlDataReader Try reader = cmd.ExecuteReader If reader.Read() = True Then Dim 学生成绩管理系统As New 学生信息管理系统 学生成绩管理系统.Show(
33、) Me.Hide() Else MsgBox(对不起,用户名或密码错误!重新输入(请正确选择用户类型), 16, 警告) Me.TextBox1.Text = Me.TextBox2.Text = TextBox1.Focus() End If Catch ex As Exception End Try End If End Sub5.2学生成绩管理界面图4.2学生成绩管理界面设计过程:所有功能都在菜单中打开来实现。在登录时选择的用户类型限制本界面功能使用的权限,不同的用户类型所显示可用的功能不一样。普通用户可使用界面管理功能、学生信息管理中的查询功能、登录用户管理中的普通用户管理功能;高级
34、用户拥有普通用户所有功能使用的权限,外加登录用户管理中的高级用户管理功能;超级用户拥有高级用户所有的功能使用的权限,外加超级用户管理功能;所有登录的用户都可使用界面管理功能和帮助功能。不同的权限拥有不同的功能。设计代码:Public Class 学生信息管理系统Private Sub 添加DToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加DToolStripMenuItem.Click Dim tianjia As New 添加 tianjia.MdiPa
35、rent = Me tianjia.Show() End SubPrivate Sub 修改KToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改KToolStripMenuItem.Click Dim xiugai As New 修改 xiugai.MdiParent = Me xiugai.Show() End SubPrivate Sub 删除DToolStripMenuItem_Click(ByVal sender As System.Object,
36、ByVal e As System.EventArgs) Handles 删除DToolStripMenuItem.Click Dim shanchu As New 删除 shanchu.MdiParent = Me shanchu.Show() End SubPrivate Sub 退出XToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出XToolStripMenuItem.Click End End SubPrivate Sub 返回ToolStripM
37、enuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 返回ToolStripMenuItem.Click 登陆界面.Show() Me.Close() End SubPrivate Sub 信息查询ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim chaxun As New 查询 chaxun.MdiParent = Me chaxun.Show() End S
38、ubPrivate Sub 添加ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加ToolStripMenuItem.Click Dim yonghuguanli As New 用户信息管理 yonghuguanli.MdiParent = Me yonghuguanli.Show() End SubPrivate Sub 查询ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
39、System.EventArgs) Handles 查询ToolStripMenuItem.Click Dim chaxun As New 查询 chaxun.MdiParent = Me chaxun.Show() End SubPrivate Sub 窗口层叠ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 窗口层叠ToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.Cascade) End SubPrivate S
40、ub 水平平铺ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 水平平铺ToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End SubPrivate Sub 垂直平铺ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 垂直平铺ToolStripMenuIt
41、em.Click Me.LayoutMdi(MdiLayout.TileVertical) End SubPrivate Sub 修改密码ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改密码ToolStripMenuItem.Click Dim 修改密码As New 高级用户密码修改 修改密码.MdiParent = Me 修改密码.Show() End SubPrivate Sub 修改普通用户ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改普通用户ToolStripMenuItem.Click Dim 修改密码As New 普通用户密码修改 修改密码.MdiParent = Me 修改密码.Show() End SubPrivate Sub 帮助ToolStripMenuItem_Click