• 979.22 KB
  • 2022-04-22 13:39:52 发布

用Visual Basic2005开发工具开发学校学生信息管理系统毕业论文.doc

  • 39页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'用VisualBasic2005开发工具开发学校学生信息管理系统毕业论文目录摘要2第一章绪论31.1引言31.2设计目的及意义3第二章开发环境和工具42.1VisualBasic简介42.1.1VisualBasic语言特性52.2SQLserver2005简介62.2.1SQLserver2005数据库特点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数据库调试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高级用户管理29 5.4.3超级用户管理305.5用户注册345.6帮助界面36总结37参考文献38 摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了毕业设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到学生信息的管理的目的。关键词:VB,SQLserver2005,界面,权限。 第一章绪论1.1引言人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也不过10年的时间。但是,计算机和网络对社会的影响已经迅速扩大,甚至在改变人们的生活。特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。正像著名的未来学家尼葛洛庞帝(1997)所说的:“数字不再只和计算有关,它决定我们的生存。”科学技术是第一生产力,是最先进的生产力。现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。目前,在社会各个方面都呈现出了与工业社会显著不同的特点。网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生极大的冲击。使人们感受到技术发展的脉搏和信息时代前进的步伐。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。1.2设计目的及意义本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。本系统主要包括注册管理、界面管理、学生信息查询、添加、修改、删除和帮助等部分。其功能主要有:ü学生信息的添加,包括输入学生基本信息和成绩。 ü学生信息的查询,包括查询学生基本信息和成绩。ü学生信息的修改,包括修改学生基本信息和成绩。ü学生信息的删除,包括修改学生基本信息和成绩。ü用户名注册,包括普通用户注册、高级用户注册和超级用户注册。ü登录用户密码修改,用户登录到系统可进行相应的用户密码修改。ü超级用户对用户名的管理,包括添加新用户、修改用户密码、删除用户名和查询用户。学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的VisualBasic2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。第二章开发环境和工具2.1VisualBasic简介VisualBasic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。 2.1.1VisualBasic语言特性一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。 VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。2.2SQLserver2005简介SQLServer2005是微软公司比较稳定的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与WindowsNT/2000平台紧密集成,具有完全的Web功能。通过对高端硬件平台、网络和存储技术的支持,为WEB站和企业的应用最大限度地提供了可扩展性和高可靠性,能在Internet商业领域快速建立并应用。此外,还增强了安全性,保护防火墙内外的数据。支持基于角色的安全并拥有安全审计工具。在经历了SQLServer6.5和7.0两个版本的尝试后,微软公司终于开始了大规模的业务。记得在以前各种关于SQLServer的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。其实这是一种误解。在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQLServer可以说成为了开发者手中的一柄利器!另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。SQLServer2005提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。另外,SQLServer2005可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。2.2.1SQLserver2005数据库特点概括起来,SQLServer2005数据库管理系统具有以下主要特点。 1)、丰富的图形管理工具,使系统管理、操作更为直观方便。SQLServer企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQLServer服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。此外,SQLServer2005还提供了SQL事件探查器、SQL查询分析器、SQLServer服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。2)、动态自动管理和优化功能。即使SQLServer数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。3)、充分的Internet技术支持。Internet网络发展到今天已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术支持,它除保留了前期版本中的数据库Web出版工具“Web助手”外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQLServer数据库系统,也扩展了SQLServer在数据挖掘和分析服务领域的应用。4)、丰富的编程接口工具,使用户开发SQLServer数据库应用程序更加灵活。SQLServer提供了Transact-SQL、DB-LibraryforC、嵌入式SQL(ESQL)等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQLServer2000还支持ODBC、OLEDB、ADO规范,可以使用ODBC、OLEDB、ADO接口访问SQLServer数据库。5)、具有很好的伸缩性和可靠性。SQLServer2005既能运行在Windows桌面操作系统下,又可运行在服务器操作系统(包括WindowsNT和Windows2000)下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。第三章系统分析 本学生成绩管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生信息管理、学生成绩管理、用户权限管理等多种功能,因而具有较强的实用性。3.1系统及需求分析3.1.1系统需求通过调查,要求系统需要有以下功能:ü要求有良好的人机交互界面;ü由于该系统使用对象多,要求有较好的权限管理;ü原始数据修改简单方便,支持多条件修改ü方便的数据查询,支持多条件查询;ü在相应的权限下,删除数据方便,数据稳定性好;ü数据计算自动完成,尽量减少人工干预。3.1.2需求分析目前计算机管理在日常生活中的地位变得越来越重要。它能够代替人做各种重复、繁琐的劳动,并且拥有操作简单、可信度好、不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。学生信息查询是每个学校必须面临的问题,所以,如何开发一个应用简单、界面友好、容易操作、数据安全性好的管理系统就成为非常重要的技术问题。学生成绩管理系统的设计与实现,是在班级学生处数据库基础上,只对学生成绩信息进行管理的一个系统,是对学校教务管理系统的补充,主要是针对辅导员的需要,主要包括三个用户群:普通用户、高级用户、超级用户。普通用户,主要的需求有学生成绩查询、学生基本信息查询、普通用户密码修改。高级用户,主要的需求有学生成绩管理、学生信息管理、普通用户和高级用户密码修改。超级用户,主要的需求有学生成绩管理、学生信息管理、登录用户名管理。 3.2可行性分析由于本系统管理的对象单一,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。3.2.1经济可行性分析随着科学技术的不断发展与创新,计算机作用的日益突显,计算机软件成为人们解决问题的一个有效手段,当然,它的作用也越来越重要。在当今信息时代,国民经济和国防建设、社会发展、人民生活都离不开软件,软件也无处不在。软件产业也是一个新兴产业,尽管起步晚,但是发展迅速,已经成为增长最快的产业,是具有高投入/高产出、无污染、低能耗的绿色产业。学生成绩管理系统是一个基于教务处数据库的一个管理系统,对已经使用的类似的系统进调查分析、类比,本课题具有的特点:开发工作量小,可以有两个人合作开发或一个人独立开发,开发周期短,有熟练的开发人员一个月就可以完成系统的开发与测试。3.2.2技术可行性分析从技术方面来说,VisualBasic2005是一个企业级的、面向对象的快速应用开发工具,是数据库最优秀的开发工具之一。VisualBasic2005完全支持面向对象的开发,它拥有多种数据库接口,可以非常方便地连接的各种数据源,再加之其专利产品DataWindow(数据窗口),通过SQL语句即可轻松地查询和更新后台数据库中的数据。VisualBasic2005基于组件的开发增强了面向对象的技术,他提供一个更有效的封装、管理、重用和扩展企业规则和处理的高层途径。在数据操作方面,选择灵活、易用的MicrosoftSQLserver2005数据源。 3.3系统功能流程图本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个权限型管理系统。学生成绩管理系统用户查询用户删除用户修改用户添加普通用户管理高级用户管理超级用户管理登录用户管理系统查询删除修改添加学生信息管理系统用户注册帮助文件帮助学生成绩管理系统界面模式界面返回界面退出学生成绩管理系统用户登录图2.1系统功能流程第四章数据库的设计4.1数据库设计本系统的数据库是SQL server数据库,在SQL环境下创建数据库学生信息库.mdf文件。该数据库包括学生信息表、成绩信息表、用户登录信息表用于纪录学生的基本信息数据库表结构如下所示:4.1.1各表的物理结构表3.1.1学生信息表表3.1.1学生成绩表1 表3.1.1学生档案表2表3.1.1用户登录表4.2数据库链接4.2.1数据库链接代码ModuleModule1PublicadminAsBoolean=TruePublicadminisAsStringPublicgradeAsStringPublicFunctionlink(ByVali)AsDataTableDimsqlconAsNewSqlConnection("datasource=PC-201103171305SQLEXPRESS;database=学生信息库;userid=sa;pwd=")"用连接对象连接数据库DimsqladAsSqlDataAdapterDimdsAsDataTablesqlad=NewSqlDataAdapter(i,sqlcon)ds=NewDataTable"数据集对象Trysqlad.Fill(ds)"添加数据CatchexAsExceptionMessageBox.Show(ex.Message+Chr(10)+Chr(13)+ex.StackTrace)EndTryReturndsEndFunctionEndModule4.2.2数据库链接操作第一步:附加数据库(对已经建好的数据库进行附加)点击数据库右键附加。 图附加数据库第二部:安全性设置,展开安全性,sa用户点击右键属性,进行安全性设置(密码设置、默认数据库设置),状态选择登录启用。图安全性设置第三步:服务器属性设置,右击服务器属性,进行安全性设置。 图服务器属性设置第四步:重启服务器。右击服务器,选择重启服务器。图重启服务器4.3数据库调试数据库成功附加、安全性设置、重启。 图数据库第五章主要内容5.1登录界面图4.1登录界面设计过程: 用于输入用户名和密码登录,选择相应的用户类型进入系统,若是用户类型选择错误则不能进入系统。没有用户名的可注册用户名,如对系统操作有不了解的可点击帮助,进入帮助界面。输入用户名和密码后点击确定判断数据库中的用户是否为合法用户。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click"选择普通用户登录IfMe.RadioButton1.CheckedThenDimstrAsStringstr="datasource=PC-201103171305SQLEXPRESS;database=学生信息库;userid=sa;pwd="DimconAsNewSqlClient.SqlConnection(str)Trycon.Open()CatchexAsExceptionEndTryDimsqlAsString="select*from普通用户where用户名=""&TextBox1.Text.ToString().Trim()&""and密码=""&TextBox2.Text.ToString().Trim()&"""DimcmdAsNewSqlClient.SqlCommand(sql,con)DimreaderAsSqlClient.SqlDataReaderTryreader=cmd.ExecuteReaderIfreader.Read()=TrueThenDim学生成绩管理系统AsNew学生信息管理系统学生成绩管理系统.添加DToolStripMenuItem.Enabled=False学生成绩管理系统.修改KToolStripMenuItem.Enabled=False学生成绩管理系统.删除DToolStripMenuItem.Enabled=False学生成绩管理系统.添加ToolStripMenuItem.Enabled=False学生成绩管理系统.高级用户信息管理ToolStripMenuItem.Enabled=False学生成绩管理系统.Show()Me.Hide()ElseMsgBox("对不起,用户名或密码错误!重新输入(请正确选择用户类型)",16,"警告")Me.TextBox1.Text=""Me.TextBox2.Text=""TextBox1.Focus()EndIfCatchexAsExceptionEndTry EndIf"选择高级用户登录IfMe.RadioButton2.CheckedThenDimstrAsStringstr="datasource=PC-201103171305SQLEXPRESS;database=学生信息库;userid=sa;pwd="DimconAsNewSqlClient.SqlConnection(str)Trycon.Open()CatchexAsExceptionEndTryDimsqlAsString="select*from高级用户where用户名=""&TextBox1.Text.ToString().Trim()&""and密码=""&TextBox2.Text.ToString().Trim()&"""DimcmdAsNewSqlClient.SqlCommand(sql,con)DimreaderAsSqlClient.SqlDataReaderTryreader=cmd.ExecuteReaderIfreader.Read()=TrueThenDim学生成绩管理系统AsNew学生信息管理系统学生成绩管理系统.添加ToolStripMenuItem.Enabled=False学生成绩管理系统.Show()Me.Hide()ElseMsgBox("对不起,用户名或密码错误!重新输入(请正确选择用户类型)",16,"警告")Me.TextBox1.Text=""Me.TextBox2.Text=""TextBox1.Focus()EndIfCatchexAsExceptionEndTryEndIf"选择超级用户登录IfMe.RadioButton3.CheckedThenDimstrAsStringstr="datasource=PC-201103171305SQLEXPRESS;database=学生信息库;userid=sa;pwd="DimconAsNewSqlClient.SqlConnection(str)Trycon.Open()CatchexAsExceptionEndTryDimsqlAsString="select*from超级用户where用户名=""&TextBox1.Text.ToString().Trim()&""and密码=""&TextBox2.Text.ToString().Trim()&"""DimcmdAsNewSqlClient.SqlCommand(sql,con)DimreaderAsSqlClient.SqlDataReader Tryreader=cmd.ExecuteReaderIfreader.Read()=TrueThenDim学生成绩管理系统AsNew学生信息管理系统学生成绩管理系统.Show()Me.Hide()ElseMsgBox("对不起,用户名或密码错误!重新输入(请正确选择用户类型)",16,"警告")Me.TextBox1.Text=""Me.TextBox2.Text=""TextBox1.Focus()EndIfCatchexAsExceptionEndTryEndIfEndSub5.2学生成绩管理界面图4.2学生成绩管理界面设计过程: 所有功能都在菜单中打开来实现。在登录时选择的用户类型限制本界面功能使用的权限,不同的用户类型所显示可用的功能不一样。普通用户可使用界面管理功能、学生信息管理中的查询功能、登录用户管理中的普通用户管理功能;高级用户拥有普通用户所有功能使用的权限,外加登录用户管理中的高级用户管理功能;超级用户拥有高级用户所有的功能使用的权限,外加超级用户管理功能;所有登录的用户都可使用界面管理功能和帮助功能。不同的权限拥有不同的功能。设计代码:PublicClass学生信息管理系统PrivateSub添加DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles添加DToolStripMenuItem.ClickDimtianjiaAsNew添加tianjia.MdiParent=Metianjia.Show()EndSubPrivateSub修改KToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles修改KToolStripMenuItem.ClickDimxiugaiAsNew修改xiugai.MdiParent=Mexiugai.Show()EndSubPrivateSub删除DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除DToolStripMenuItem.ClickDimshanchuAsNew删除shanchu.MdiParent=Meshanchu.Show()EndSubPrivateSub退出XToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出XToolStripMenuItem.ClickEndEndSubPrivateSub返回ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles返回ToolStripMenuItem.Click登陆界面.Show()Me.Close()EndSubPrivateSub信息查询ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)DimchaxunAsNew查询chaxun.MdiParent=Mechaxun.Show()EndSubPrivateSub添加ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAs System.EventArgs)Handles添加ToolStripMenuItem.ClickDimyonghuguanliAsNew用户信息管理yonghuguanli.MdiParent=Meyonghuguanli.Show()EndSubPrivateSub查询ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查询ToolStripMenuItem.ClickDimchaxunAsNew查询chaxun.MdiParent=Mechaxun.Show()EndSubPrivateSub窗口层叠ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles窗口层叠ToolStripMenuItem.ClickMe.LayoutMdi(MdiLayout.Cascade)EndSubPrivateSub水平平铺ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles水平平铺ToolStripMenuItem.ClickMe.LayoutMdi(MdiLayout.TileHorizontal)EndSubPrivateSub垂直平铺ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles垂直平铺ToolStripMenuItem.ClickMe.LayoutMdi(MdiLayout.TileVertical)EndSubPrivateSub修改密码ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles修改密码ToolStripMenuItem.ClickDim修改密码AsNew高级用户密码修改修改密码.MdiParent=Me修改密码.Show()EndSubPrivateSub修改普通用户ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles修改普通用户ToolStripMenuItem.ClickDim修改密码AsNew普通用户密码修改修改密码.MdiParent=Me修改密码.Show()EndSubPrivateSub帮助ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles帮助ToolStripMenuItem.ClickDim帮助AsNew帮助文件帮助.MdiParent=Me帮助.Show()EndSubEndClass 5.3学生信息管理5.3.1学生信息添加图4.3.1学生信息添加学生基本信息添加设计过程:选择学生信息添加,在相应的栏目填入或选择相应的内容,点击添加后数据存入学生信息表。点击退出则退出整个管理系统,点击返回则退回到学生成绩管理界面。(选择学生信息添加后学生成绩添加为不可用)设计代码:PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickIfMe.TextBox1.Text.Trim=String.EmptyThenMessageBox.Show("学号不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseIfMe.TextBox2.Text.Trim=String.EmptyThenMessageBox.Show("姓名不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)Else DimstrAsString="select*from学生信息表"&"where学号=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto学生信息表"&"(学号,姓名,年龄,班级,籍贯,性别)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"",""&Me.TextBox5.Text.Trim&"",""&ComboBox3.Text.Trim&"",""&Me.ComboBox2.Text.Trim&"",""&ComboBox1.Text.Trim&"")"link(str)xuehao()EndIfstr="select*from成绩表"&"where学号=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto成绩表(学号,姓名)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)xuehao()EndIfstr="select*from成绩表"&"where学号=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto成绩表(学号,姓名)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)MessageBox.Show("学生信息表记录"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)xuehao()ElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfEndSub学生成绩信息添加设计过程:选择学生成绩添加,在相应的栏目选择添加内容(上学期、下学期、科目、学号、成绩),点击添加后数据存入学生成绩表(成绩表1或者成绩表2)。点击退出则退出整个管理系统,点击返回则退回到学生成绩管理界面。(选择学生成绩添加后学生信息添加为不可用) 设计代码:PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.ClickIfMe.txt_chengji.Text.Trim=String.EmptyThenMessageBox.Show("成绩不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseIfMe.cb_xueqi.SelectedIndex=0ThenStr="update成绩表set"&Me.cb_kecheng.Text.Trim&"=""&Me.txt_chengji.Text.Trim&""where学号=""&Me.cb_xuehao.Text.Trim&"""IfInt(Me.txt_chengji.Text.Trim)>=0AndInt(Me.txt_chengji.Text.Trim)<=100Thenlink(Str)MessageBox.Show("记录添加已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)xuehao()ElseMessageBox.Show("记录成绩已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfElseIfMe.cb_xueqi.SelectedIndex=1ThenStr="update成绩表set"&Me.cb_kecheng1.Text.Trim&"=""&Me.txt_chengji.Text.Trim&""where学号=""&Me.cb_xuehao.Text.Trim&"""IfInt(Me.txt_chengji.Text.Trim)>=0AndInt(Me.txt_chengji.Text.Trim)<=100Thenlink(Str)MessageBox.Show("记录添加已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)xuehao()ElseMessageBox.Show("记录成绩已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfEndIfEndSub 5.3.2学生信息修改图4.3.2学生信息修改学生基本信息修改设计过程:选择修改信息类型为学生信息,在相应的栏目选择或填入相应的内容(学号、类型、修改内容)。点击修改读取数据库中的学生信息表的相应内容,改为填入的所要修改的内容。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfMe.RadioButton3.CheckedThenstr="update学生信息表set"&Me.ComboBox4.Text.Trim&"=""&Me.TextBox1.Text.Trim&""where学号=""&Me.ComboBox3.Text.Trim&"""EndIfIfNotlink(str).Rows.CountThenMessageBox.Show("修改成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIfEndSub 学生成绩信息修改设计过程:选择修改信息类型为学生成绩,在相应的栏目选择或填入相应的内容(学号、选择课程、改成绩)。点击修改读取数据库中的成绩表的相应内容,改为填入的所要修改的内容。设计代码:PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickIfMe.RadioButton1.CheckedThenstr="update成绩表set"&Me.ComboBox1.Text.Trim&"=""&Me.TextBox4.Text.Trim&""where学号=""&Me.ComboBox5.Text.Trim&"""ElseIfMe.RadioButton2.CheckedThenstr="update成绩表set"&Me.ComboBox2.Text.Trim&"=""&Me.TextBox4.Text.Trim&""where学号=""&Me.ComboBox5.Text.Trim&"""EndIfIfNotlink(str).Rows.CountThenIfInt(Me.TextBox4.Text.Trim)>=0AndInt(Me.TextBox4.Text.Trim)<=100ThenMessageBox.Show("修改成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)ElseMsgBox("对不起,您输入的成绩有误!请重新输入",16,"警告")EndIfEndIfEndSub5.3.3学生信息删除图4.3.3学生信息删除 设计过程:选择所要删除的信息类型,在学号栏目选择相应的学号。点击删除,则在相应的表中删除信息。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfMe.RadioButton1.CheckedThenDimstrAsString="deletefrom成绩表where学号=""&ComboBox1.Text.Trim&"""link(str)MessageBox.Show("删除记录"&ComboBox1.Text&"成功","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)tianxuehao()EndIfIfMe.RadioButton2.CheckedThenDimstrAsString="deletefrom成绩表where学号=""&ComboBox1.Text.Trim&"""link(str)MessageBox.Show("删除记录"&ComboBox1.Text&"成功","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)tianxuehao()EndIfIfMe.RadioButton3.CheckedThenDimstrAsString="deletefrom学生信息表where学号=""&ComboBox1.Text.Trim&"""link(str)MessageBox.Show("删除记录"&ComboBox1.Text&"成功","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)tianxuehao()EndIfEndSub 5.3.4学生信息查询图4.3.4学生信息查询设计过程:选择查询的学生信息类型,输入所要查询的学生学号,点击查询即可,在下面会显示你所查询学生信息。点击刷新能及时更新最新的学生信息。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfMe.RadioButton1.CheckedThenxh="select*from成绩表where学号=""&Me.TextBox2.Text.Trim&"""ElseIfMe.RadioButton2.CheckedThenxh="select*from成绩表where学号=""&Me.TextBox2.Text.Trim&"""ElseIfMe.RadioButton3.CheckedThenxh="select*from学生信息表where学号=""&Me.TextBox2.Text.Trim&"""EndIftianxuehao()EndSubPrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickMe.TextBox2.Text=""IfMe.RadioButton1.CheckedThen xh="select*from成绩表"tianxuehao()ElseIfMe.RadioButton2.CheckedThenxh="select*from成绩表"tianxuehao()ElseIfMe.RadioButton3.CheckedThenxh="select*from学生信息表"tianxuehao()EndIfEndSub5.4登录用户管理5.4.1普通用户管理图4.4.1普通用户管理设计过程:在普通用户密码修改界面,输入所要修改的自己或者别人的用户名,填入新的密码,点击提交即可修改相应的用户名密码。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Clickxh="select*from普通用户where用户名=""&Me.TextBox1.Text.Trim&"""IfMe.TextBox2.Text.Trim=String.EmptyThenMessageBox.Show("密码不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)Elsestr="update普通用户set密码=""&Me.TextBox2.Text.Trim&""where用户名=""& Me.TextBox1.Text.Trim&"""IfNotlink(str).Rows.CountThenMessageBox.Show("修改普通用户密码成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIfEndIfEndSub5.4.2高级用户管理图4.4.2高级用户管理设计过程:在高级用户密码修改界面,输入所要修改的自己或者别人的用户名,填入新的密码,点击提交即可修改相应的用户名密码。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Clickxh="select*from高级用户where用户名=""&Me.TextBox1.Text.Trim&"""IfMe.TextBox2.Text.Trim=String.EmptyThenMessageBox.Show("密码不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseStr="update高级用户set密码=""&Me.TextBox2.Text.Trim&""where用户名=""&Me.TextBox1.Text.Trim&"""IfNotlink(Str).Rows.CountThenMessageBox.Show("修改高级用户密码成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIf EndIfEndSub5.4.3超级用户管理图4.4.3超级用户管理设计过程:正确选择所要操作的用户类型,在用户信息管理界面可添加用户、修改用户、删除用户、查询用户等功能,这是一个只有超级用户才拥有的权限功能,这个界面功能可操作学生成绩管理系统的用户登录信息,方面了超级用户对用户名和密码的管理。设计代码:用户添加代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click IfMe.TextBox1.Text.Trim=String.EmptyThenMessageBox.Show("用户名不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseIfMe.TextBox2.Text.Trim=String.EmptyThenMessageBox.Show("密码不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfIfMe.RadioButton1.CheckedThenDimstrAsString="select*from普通用户"&"where用户名=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto普通用户"&"(用户名,密码)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)MessageBox.Show("普通用户"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)ElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfIfMe.RadioButton2.CheckedThenDimstrAsString="select*from高级用户"&"where用户名=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto高级用户"&"(用户名,密码)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)MessageBox.Show("高级用户"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)ElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfIfMe.RadioButton3.CheckedThenDimstrAsString="select*from超级用户"&"where用户名=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0Thenstr=Nothingstr="insertinto超级用户"&"(用户名,密码)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str) MessageBox.Show("超级用户"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)ElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfEndSub用户修改代码:PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickIfMe.TextBox3.Text.Trim=String.EmptyThenMessageBox.Show("密码不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseIfMe.RadioButton1.CheckedThenstr="update普通用户set密码=""&Me.TextBox3.Text.Trim&""where用户名=""&Me.ComboBox1.Text.Trim&"""IfNotlink(str).Rows.CountThenMessageBox.Show("修改普通用户密码成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIfEndIfIfMe.RadioButton2.CheckedThenstr="update高级用户set密码=""&Me.TextBox3.Text.Trim&""where用户名=""&Me.ComboBox1.Text.Trim&"""IfNotlink(str).Rows.CountThenMessageBox.Show("修改高级用户密码成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIfEndIfIfMe.RadioButton3.CheckedThenstr="update超级用户set密码=""&Me.TextBox3.Text.Trim&""where用户名=""&Me.ComboBox1.Text.Trim&"""IfNotlink(str).Rows.CountThenMessageBox.Show("修改超级用户密码成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)EndIfEndIfEndIfEndSub用户删除代码:PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesButton5.ClickIfMe.RadioButton1.CheckedThenDimstrAsString="deletefrom普通用户where用户名=""&ComboBox2.Text.Trim&"""link(str)MessageBox.Show("删除普通用户记录"&ComboBox2.Text&"","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)EndIfIfMe.RadioButton2.CheckedThenDimstrAsString="deletefrom高级用户where用户名=""&ComboBox2.Text.Trim&"""link(str)MessageBox.Show("删除高级用户记录"&ComboBox2.Text&"","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)EndIfIfMe.RadioButton3.CheckedThenDimstrAsString="deletefrom超级用户where用户名=""&ComboBox2.Text.Trim&"""link(str)MessageBox.Show("删除超级用户记录"&ComboBox2.Text&"","删除成功",MessageBoxButtons.OK,MessageBoxIcon.Information)EndIfEndSub用户查询代码:PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.ClickIfMe.RadioButton1.CheckedThenxh="select*from普通用户where用户名=""&Me.TextBox6.Text.Trim&"""ElseIfMe.RadioButton2.CheckedThenxh="select*from高级用户where用户名=""&Me.TextBox6.Text.Trim&"""ElseIfMe.RadioButton3.CheckedThenxh="select*from超级用户where用户名=""&Me.TextBox6.Text.Trim&"""EndIfchaxun()EndSub 5.5用户注册图4.5用户注册设计过程:进入用户注册界面后输入所要注册用户名和密码,再次确定后,选择所要注册的用户类型,点击提交后即可把相应的用户名和密码存入相应的用户信息表。设计代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfMe.TextBox1.Text.Trim=String.EmptyThenMessageBox.Show("用户名不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)ElseIfMe.TextBox2.Text.Trim=String.EmptyThenMessageBox.Show("密码不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfIfMe.RadioButton1.CheckedThenDimstrAsString="select*from普通用户"&"where用户名=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0ThenIfMe.TextBox3.Text=Me.TextBox2.TextThenstr=Nothingstr="insertinto普通用户"&"(用户名,密码)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)MessageBox.Show("普通用户"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information) ElseMessageBox.Show("两次密码不一致","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfIfMe.RadioButton2.CheckedThenDimstrAsString="select*from高级用户"&"where用户名=""&Me.TextBox1.Text.Trim&"""Iflink(str).Rows.Count=0ThenIfMe.TextBox3.Text=Me.TextBox2.TextThenstr=Nothingstr="insertinto高级用户"&"(用户名,密码)values(""&Me.TextBox1.Text.Trim&"",""&Me.TextBox2.Text.Trim&"")"link(str)MessageBox.Show("高级用户"&Me.TextBox1.Text&"已成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information)ElseMessageBox.Show("两次密码不一致","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfElseMessageBox.Show("记录"&Me.TextBox1.Text&"已存在","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error)EndIfEndIfEndSub 5.6帮助界面图4.6帮助界面设计过程:从登陆界面或者学生成绩管理界面进入帮助界面后,可有选择的了解用户操作的方法,点击关闭按钮回到登陆界面或者学生成绩管理界面。 总结在毕业设计中,我们遇到的困难很多,在解决它们的同时我又学到了很多,受益匪浅,特别是如何分析、建立、开发一个系统。在一个系统开发的过程中编码不是重要的,重要的是分析系统、建立起系统模型。在分析一个系统前,分析人员必须要对将要开发的系统所涉及到的各方面知识有一个认识,然后将系统的模型建立起来。而且一个成功的软件要符合用户的需要,要以用户为中心,开发出用户想要的软件,而不能自以为是、想当然的做。在程序编写中,我认识到软件要有简便的界面,良好的程序风格。拥有这些条件,程序的可读性才会好,开发的复杂度才能大大减少,修改代码时更加容易下手。我认为,所谓友好的界面,就是用户需要的界面,力求简便全面。所以设计一个界面时,开发人员必须要了解用户的想法,从用户的角度去设计,当然,开发不能全听用户的意见,在详细分析了系统后,开发人员可以向用户提出一些修改的意见,在双方多次交流后定出程序所需的功能,以决定界面的实现。在编码中,良好的编程风格与习惯是提高工作效率的一个重要方面,而且良好的编程风格与习惯也是使软件便于维护的基础。那如何是良好的编程风格与习惯呢?我认为主要是程序的模块化、必要的注释。所谓模块化就是使程序的功能实现分成多个单独的功能模块,而不能在一大段代码中实现多个功能,如果这样做,别的人是非常难读懂你的程序。必要的注释,显而易见是要在程序的编写中加入对程序的说明,原因就是为了别人能读懂你的程序,过一段时间后你自己还能读懂自己的程序。最后说明下这次毕业设计给我感受最深的有三点:1.进行管理系统开发这样的工作,要有恒心,要能静下新来做,而不能浮躁。2.要善于同别人交流与合作,善于获取各种有用的资源。3.要真真实实的多查资料,多问,多看。 参考文献[1]《学用VisualBasic编程》潭浩著西安电子科技大学出版社[2]《数据库原理》丁宝康施伯乐著经济科学出版社[3]《SQLServer数据库开发入门与范例解析》夏邦贵著北京机械工业出版社[4]《SQLServer2005应用开发技术指南》彭东著北京清华大学出版社'