资源描述
毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明原创性声明原创性声明本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 1学位论文原创性声明学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日23目目 录录第一章第一章 绪绪 论论.1第二章第二章 课题总体介绍课题总体介绍.22.1 课题介绍.22.2 主要设计功能.3第三章第三章 开发方法的选择开发方法的选择.33.1 开发工具的选择.33.2 WINDOWS下的 VISUAL BASIC 编程环境介绍 .4第四章第四章 系统分析系统分析.54.1 系统分析的重要性.54.2 需求分析.64.3 可行性分析.6第五章第五章 系统总体规划系统总体规划.75.1 系统功能.75.2 使用 ACCESS2000 实现关系型数据库.85.3 数据库的实现.95.4 VB 与数据库的连接方式.12第六章第六章 系统详细设计系统详细设计.126.1 系统的特点.126.2 系统子模块功能概括.126.3 用户界面的实现.13第七章第七章 系统测试系统测试.25第八章第八章 结束语结束语.26参考文献参考文献.274第一章第一章 绪绪 论论学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统设计是以能够为用户提供充足的信息和快捷的查询手段为核心内容的。一直以来人们所使用的传统的人工管理文件信息的方式实在是太落后,它存在着许许多多的缺点,效率低、保密性差的问题尤其突出。另外工作量稍微一大,将会有大量的文件和数据需要维护,有些问题是人工所无法解决的。随着科学技术的不断提高,计算机应用越来越广泛,其强大的功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点,检索快捷、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些显而易见的优点能够极大地提高学校管理人员的工作效率,也即提高进行学生信息管理的效率。由于这些原因加之指导老师的睿智指导,选择这样一个学生信息管理系统的设计也就成了必然。学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT 公司的 VISUAL BASIC 开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:控件、窗体、域、数据库。本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。本文论述了在 Microsoft Visual Basic 6.0 可视化开发软件工具下分析、设计、开发,实现创建了一套行之有效的计算机管理学生的方案。文章中介绍了学生管理信息系统的系统分析部分,包括可行性分析等。系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法。该系统基本上满足了用户在学校信息管理方面的需求,用户界面友好。此系统更加贴近信息电子化处理,从而降低了人工劳动并增加了信息的准确性。下面我就谈谈学生信息管理系统的开发过程中所遇到的问题及解决方法。5第二章第二章 课题总体介绍课题总体介绍2.12.1 课题介绍课题介绍高校学生信息的管理是一项既重要又繁琐的工作。为更好的做好这项工作,提过工作效率,更好的为学校的发展和一线教学服务,结合我校实际情况,自行研制了一套学生信息管理系统。由于我国有些学校学生信息的管理水平比较低,只停留在纸介质的水准上,这样的机制很明显地已不能适应时代的发展要求,它浪费了过多的人力及物力,还存在一些先天缺陷。在信息时代,这种传统的管理方法被以计算机为基础的信息管理方法取代已是大势所趋。归纳起来,学生信息管理系统做到一下功能比较合民意:首先,可以存储历届的学生信息,安全、高效;其次,系统可操作性强,能够节省人力,最好只需一到二名信息录入员;第三,查找信息速度快、效率高,可以检索有条件信息;第四,为将来学校实现网络化教育做准备。2.22.2 主要设计主要设计功能功能本程序需要具备以下功能:1、对学生基本信息的添加、修改和删除等操作;2、可以对学生基本信息进行查询、对学生成绩和所学课程进行查询等;3、系统管理具体包括添加用户、删除用户,修改用户信息等。6第三章第三章 开发方法的选择开发方法的选择本章主要介绍了在程序,系统开发过程中所用到的软件和硬件环境,以及各类工具在windows XP 环境下的安装与调试。3.3.1 1 开发工具的选择开发工具的选择作为数据库系统的开发,Visual Basic 是一个非常理想的选择,它简单易读懂。数据库技术是 MIS 设计中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库 Access 2000,开发工具当然是非 Visual Basic 莫属了。3.23.2 WindowsWindows 下的下的 VisualVisual BasicBasic 编程环境介绍编程环境介绍3.2.13.2.1 VisualVisual BasicBasic 的功能简介的功能简介1、结构化程序设计语言:Visual Basic 是在 BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic 语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计 Visual Basic 程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离 Visual Basic 环境,直接在 Windows 环境下运行。2、访问数据库功能:Visual Basic 具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理 Microsoft Access 格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic 还能直接编辑和访问其他外部数据库,如:DATABASE,FoxPro,Paradox 等,这些数据库格式都可以用 Visual Basic 编辑和处理。3.2.23.2.2 开发工具开发工具 VisualVisual BasicBasic 的使用的使用Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等,这些对象和控件中都可在许多程序中重复使用,使其具有了最广大意义上的可通用性和扩展性。使用 Visual Basic 的菜单编辑器即可建立菜单或者修改已经存在的菜单。由于大家对菜7单等的使用已驾轻就熟,现着重对主要控件的使用作个介绍:首先,选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0” ,然后,在工具箱中增加该控件,即可实现控件的添加。1.ImageList 控件:ImageList 用于为其他控件提供图像库,属性定义与数据条对应的ImageList 控件名,该控件定义工具条按钮显示的图像。2.Align 控件:定义工具条在窗体中的位置3.ToolTipText 控件:是字符串类型,定义控件的提示字符4.Style 控件:定义按钮外观。5. HotImangeList 控件:设置 ImageList 控件名,使控件定义按钮获得热点时显示的图像。6.DisabledImageList 控件:定义工具条按钮无效时显示的图像。8第四章第四章 系统分析系统分析系统分析是程序设计中的一门重要课题,在本章中,我们将会对学生信息管理系统的系统需求进行分析,分析其可行性及重要性,进而对系统的各个模块进行分析、设计。4.14.1 系统分析的重要性系统分析的重要性在管理信息系统的生命周期中,紧接系统规划阶段的是系统开发。系统开发阶段的目标是根据系统规划所确定的系统总体结构方案和项目开发计划,按拟定的项目开发出可以运行的实际系统。这是系统建设工作中任务最为繁重、耗费资源最多的一个阶段,这个阶段又可划分为系统分析、系统设计、系统实施三个小阶段,构成系统开发生命周期的三个主要阶段。系统分析阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。这是管理信息系统开发的起始阶段,也是非常重要的阶段。按照结构化方法严格划分工作阶段, “先逻辑、后物理”的原则,系统分析阶段的目标,就是按系统规划所定的某个开发项目范围,明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。系统分析在整个系统开发过程中,是要解决“做什么”的问题,把要解决哪些问题、满足用户哪些具体的信息需求,调查、分析清楚,从逻辑上,或者说从信息处理的功能需求上提出系统的方案,即逻辑模型,为下一阶段进行物理方案设计、解决“怎么做”提供依据。本阶段主要解决用户要求做什么,该问题值不值得做,是否有可行的解决办法,以防止花费了大量人力、物力、财力和时间后,却发现问题无解,而造成浪费。若有解,且值得做,就应该推荐一个较好的解决方案,并制定一个初步计划。由此,可见系统分析的重要。4.24.2 需求分析需求分析每所高校每年都有大量的学生入学,如何对学生的信息进行有效的管理,这是一件比较复杂的问题。为更好的做好学生信息管理这项工作,提高工作效率,更好的为学校的发展和一线教学服务,结合我校实际情况,自行研制一套学生信息管理系统。在我校目前的学生信息管理中,虽然应用了计算机进行管理,摆脱了全手工的管理方式,但由于没有一套统一的方式、方法和软件系统支持,仍然存在着诸如数据分散、不一致、可利用率低等的问题,以致影响了工作效率的进一步提高。目前我校的校园网络已经基本建设完毕,网络的应用为我校的发展提供的良好的基础支持。本系统以后可以进一步充分利用这一有利条件,不久的将来开发一套完全网络化的学生信息管理系统,进一步提高工作效率,使之更加便捷。94.34.3 可行性分析可行性分析通过调查分析,建立新的学生信息管理信息系统有其充分的必要性和可能性。可以建立该信息系统的可能性具体包含了它具有经济可行性、技术可行性和社会可行性,新系统能达到以最小的开发成本取得最佳的经济效益,开发中所需人员、硬软件支持以及其它费用进行估算情况均满意,技术条件也能保证顺利完成开发工作。最终认为该系统完全可行,并根据其特点决定采用 VB6.0 作为开发工具。10第五章第五章 系统总体规划系统总体规划5.15.1 系统功能系统功能学生管理系统是一个交互式查询系统,利用该系统学生作为只读用户可以查询自己的信息,修改自己个人信息如进入系统的口令;学校教师作为普通用户则可以录入自己学生的基本信息等,当然条件是在系统允许的情况下;查询所教科目的学生成绩,修改系统口令。系统管理员用户作为超级用户可管理所有用户的权限。1.系统管理:此项功能权限仅限于超级用户即系统管理员,实现的功能有:用户注册,角色定义,权限分配,用户信息维护等。普通用户的帐号不拥有这些权限。2.数据编辑:此项权限由超级用户和给予权限的普通用户享有。由于归于系统用户的范畴,因此,所进行的操作是对原始数据库的编辑,选中数据库中的某一表便可以进行数据编辑,当然,修改时一定要慎之又慎,要考虑到数据的参照完整性。否则,修改后的数据很难得出正确的查询结果。系统功能如图 5-1 所示:图 5-1 学生信息管理系统115.25.2 使用使用 Access2000Access2000 实现关系型数据库实现关系型数据库5.2.15.2.1 数据库的概念数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息。简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系型数据库(flat-file)和关系型数据库(relational) 。关系型数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。5.2.25.2.2 新建一个数据库新建一个数据库创建任何一个数据库的第一步是要仔细地规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。其新建过程包括:1、标识需要的数据;2、收集被标识的字段到表中;3、标识主关键字字段;4、绘制一个简单的数据图表;5、规范数据;6、标识指定字段的信息;7、创建物理表。5.2.35.2.3 修改已建的数据库修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由 Visual Basic 创建的程序来完成。5.2.45.2.4 实现数据库之间的联系实现数据库之间的联系 数据库之间的关系是指两个库之间共享一个共同的关键字值。一个链接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的链接形式称为自链接,这种链接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。5.2.55.2.5 关系型数据库的实现关系型数据库的实现Access2000 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access 也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。125.35.3 数据库的实现数据库的实现5.3.15.3.1 课程数据表课程数据表(allkecheng)(allkecheng)该表实现对各课程教材的管理。结构如表 5-1 所示:表 5-1 课程数据表字段名称字段类型字段宽度是否可空课程名称文本20否教材文本30否5.3.25.3.2 成绩数据表成绩数据表(cj)(cj)高校院系分类繁多,内容广泛就一个专业而言其学生学习的课程也有 30 多门,那一个学院的总共 34 年的课程至少也有几十门且有的专业发展很快,每年要更新几门课程,撤掉若干门课程因此,如何合理存放每个毕业生的各个学期的课程成绩就为至关重要结构如表 5-2所示:表 5-2 成绩数据表字段名称字段类型字段宽度是否可空学号文本10否学期文本100否类型文本16否课程名称文本20否分数数字单精度否5.3.35.3.3 班级数据表班级数据表(class)(class)班级数据库将对信息的管理具体到班级,在一个较小的范围内实现对学生信息的管理,这对于学校管理是具有实际意义的。这是学生信息管理中最小范围的管理,已不需要用学号作为标识,可对一些更具体的信息进行管理,实现更细化的管理。该表就可实现对学生上课信息的管理,例如上课教室等。结构如表 5-3 所示:表 5-3 班级数据表字段名称字段类型字段宽度是否可空年级文本16否班级文本20否教室文本5否年制文本8否专业文本16否班主任文本8否备注备注无否5.3.45.3.4 班级课程数据表班级课程数据表(classkecheng)(classkecheng)该数据库对不同年级、专业、年制根据学期的不同对每个学生的接受的课程进行管理。结构如表 5-4 所示:13表 5-4 班级课程数据表 字段名称字段类型字段宽度是否可空年级文本16否专业文本12否年制文本8否学期文本50否课程名称文本20否5.3.55.3.5 交费数据表交费数据表(jf)(jf)该数据库是对学生各学期交费信息的管理,由于入学时间、专业、学期的不同,其交费信息也不相同,故要设立专门的表对其进行管理。结构如表 5-5 所示:表 5-5 交费数据表字段名称字段类型字段宽度是否可空学号文本5否学期文本50否交费货币小数位数自动否欠费货币小数位数自动否日期日期/时间自动否操作员文本10否5.3.65.3.6 考试类型数据表考试类型数据表(kaoshileixing)(kaoshileixing)该表实现对各次考试类型的管理。结构如表 5-6 所示:表 5-6 考试类型数据表字段名称字段类型字段宽度是否可空类型文本10否5.3.75.3.7 学生基本信息数据表学生基本信息数据表(xj)(xj)为方便管理,我们采用学号作为唯一的标识。因为在学校中每个学生都有一个唯一标识身份的代码学号,用它管理简便易行。该表共有学号、姓名、性别、班级、出生年月、家庭住址、邮政编码、联系电话、入学时间、备注十个字段,学号作为主键。结构如表 5-7 所示:表 5-7学生基本信息数据表字段名称字段类型字段宽度是否可空学号文本5否姓名文本8否性别文本2否班级文本10否出生年月日期/时间自动否家庭住址文本30否邮政编码数字长整型否联系电话数字长整型否入学时间日期/时间自动否备注备注无否145.3.85.3.8 学费数据表学费数据表(xuefei)(xuefei)该数据库是对学生各学期交费信息的管理,由于入学时间、专业、学期的不同,其交费信息也不相同,故要设立专门的表对其进行管理。结构如表 5-8 所示:表 5-8 学费数据表字段名称字段类型字段宽度是否可空年级文本16否专业文本50否年制文本20否学期文本40否学费货币小数位数自动否5.3.95.3.9 用户名数据表用户名数据表(use)(use)该表主要实现用户注册、角色定义、权限分配和用户信息维护等功能,普通用户的帐号是否有效。各字段的含义 Username(用户名)、password(密码)用来进入系统时输入,admin(管理员)、readonly(自由访问者)、qx(权限)根据不同权限来确定可实现的不同功能,超级用户(管理员)可实现对所有功能的访问,普通用户其权限由超级用户来指定,只读用户只能浏览和查询,不能修改和添加。结构如表 5-9 所示:表 5-9 用户名数据表字段名称字段类型字段宽度是否可空username文本20否password文本20否Admin文本2否readonly文本2否Qx1文本2否Qx2 文本2否Qx3文本2否Qx4文本2否5.45.4 VBVB 与数据库的连接方式与数据库的连接方式Visual Basic 提供了与底层数据库系统紧密的连接。它支持不同的关系数据库管理系统并充分发挥每一个数据库的特长,生成独立应用或脱离服务器运行的应用程序。Visual Basic 通过使用 ADO 的连接方式来与数据库进行连接。15第六章第六章 系统系统详细设计详细设计6.16.1 系统的特点系统的特点本系统主要是利用 VB6.0 技术,结合学生信息管理的需要,力求在满足系统功能需求的基础上,使程序的运行更加快捷高效,并在数据查询等方面更加贴近使用者的使用习惯使界面更为友好。在录入窗口中,实现了数据窗口控件和下拉式数据窗口对象相结合的方式,既让程序的操作方便,又让系统直接与数据库本身的原始数据相交互,保证了所操作数据的准确性;6.26.2 系统子模块功能概括系统子模块功能概括该学生信息管理系统包括系统管理模块、学生信息管理模块。其中学生信息管理模块又包括班级管理模块、学生档案管理模块、学生交费管理模块、课程管理模块、成绩管理模块。本系统具有如下功能:系统管理:包括添加用户,重新登录;班级管理:包括班级浏览,添加班级,班级查询;学生档案管理:包括档案添加,档案浏览,档案查询; 学生交费管理:包括基本学费设置,学生交费浏览,学生交费添加,学生交费查询;课程管理:包括基本课程设置,班级课程设置;成绩管理:包括考试类型设置,成绩添加,成绩浏览,成绩查询;6.36.3 用户界面的实现用户界面的实现6.3.16.3.1 登录界面登录界面首先,系统的界面是至关重要的。它是与用户沟通的桥梁,用户工作时要时时面对它,所以界面一定要简洁、直观,操作简单。根据选择的相应用户和对应的口令进入系统,进行相应的操作。若密码错误,则弹出“密码错误”对话框。效果如图 6-1 所示:16图 6-1 登录界面登录流程如图 6-2 所示:图 6-2 登录流程图6.3.26.3.2 主界面主界面密码无误,正确登录后会看到主界面。效果如图 6-3 所示:图 6-3 主界面176.3.36.3.3 系统管理界面系统管理界面点击系统管理后看到的界面,效果如图 6-4 所示: 图 6-4 系统管理若是超级用户(管理员)则可以使用添加用户功能,在此可以添加用户的同时给用户赋予权限。超级用户是权限最高的用户,他可以享有系统的所有功能。只读用户权限最低,只可以浏览系统的某些内容,而不能参与修改。普通用户可以根据超级用户赋予的权限进行权限栏中的任意一项或多项功能。普通用户和只读用户都没有添加用户功能。作为普通用户在进行未赋予权限的功能和只读用户在进行“写”操作时,会弹出对话框“对不起,你没有管理本功能的权限,请与管理员联系!” 。效果如图 6-5 所示:图 6-5 新增用户学生信息管理部分包括班级管理、学生档案管理、学生交费管理、课程管理、成绩管理。而每一部分都包括对该部分信息的添加、浏览、查询、修改、删除。其实现过程是相似的。我们以学生档案管理为例,介绍其实现过程,可使用下面的程序完成。18Private Sub Command1_Click()If Trim(Text1(0).Text) = Then MsgBox 用户名不能为空!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Exit SubEnd IfIf Trim(Text1(1).Text) = Then MsgBox 密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(1).SetFocus Exit SubEnd IfIf Trim(Text1(2).Text) = Then MsgBox 确认密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(2).SetFocus Exit SubEnd IfIf Trim(Text1(1).Text) Trim(Text1(2).Text) Then MsgBox 确认密码不正确!, vbExclamation + vbOKOnly, 警告 Text1(2).SetFocus Exit SubEnd IfDim aa As Integeraa = 0If Option1(2).Value = True Then For i = 0 To 3 If Check1(i).Value = 1 Then aa = 1 Exit For End IfNext iIf aa = 0 Then MsgBox 普通用户至少要有一项权限!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd If19Dim mrc As ADODB.Recordsettxtsql = select * from use where username= & Trim(Text1(0).Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = False Then MsgBox 已存在该用户!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) Exit SubEnd Iftxtsql = select * from useSet mrc = ExecuteSQL(txtsql)mrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text)For i = 0 To 2 If Option1(i).Value = True Then Select Case i Case 0 mrc.Fields(admin) = y Case 1 mrc.Fields(readonly) = y Case 2 For j = 0 To 3 If Check1(j).Value = 1 Then Select Case j Case 0 mrc.Fields(qx1) = y Case 1 mrc.Fields(qx2) = y Case 2 mrc.Fields(qx3) = y Case 3 mrc.Fields(qx4) = y20 End Select End If Next j End Select End If Next i mrc.Update MsgBox 用户添加成功!, vbExclamation + vbOKOnly, 警告 Text1(0).Text = Text1(1).Text = Text1(2).Text = End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Option1(2).Value = TrueEnd SubPrivate Sub Form_Resize()Text1(0).SetFocusEnd SubPrivate Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Option1_Click(Index As Integer)If Index 2 ThenFor i = 0 To 3 Check1(i).Enabled = FalseNext iElseFor i = 0 To 3 Check1(i).Enabled = TrueNext iEnd IfEnd Sub216.3.46.3.4 学生档案管理界面学生档案管理界面点击“学生档案管理”后出现如下界面,效果如图 6-6 所示。图 6-6 档案管理界面在学生信息管理的添加界面中,我们先通过变量传递得到输入的学号,然后进行判断。首先程序先对输入的学号进行判断,若已存在,则给出提示信息,若不存在,则显示所要添加的内容。输入学生信息后,我们将信息加入到数据库中,而对于记录删除,可以使用下面程序完成:Dim mrc As ADODB.Recordset txtsql1 = select * from xj where 学号= & Trim(Text1(0).Text) & Set mrc = ExecuteSQL(txtsql1)If modi = False Then If mrc.EOF = False Then sss = MsgBox(已经存在该学号的记录,学号不能重复!, vbExclamation + vbOKOnly, 警告) Text1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) mrc.Close Exit Sub End If22图 6-7 入学登记界面另外,对于记录查找,可以使用下面程序来完成:Dim aa As Integer txtsql = If Trim(Text1(0).Text) Then aa = 1 If txtsql = Then txtsql = xj.学号= & Trim(Text1(0).Text) & Else txtsql = txtsql & and xj.学号= & Trim(Text1(0).Text) & End IfEnd IfIf Trim(Text1(1).Text) Thenaa = 1 If txtsql = Then txtsql = xj.姓名= & Trim(Text1(1).Text) & Else txtsql = txtsql & and xj.姓名= & Trim(Text1(1).Text) & End IfEnd If23If Trim(Text1(2).Text) Then aa = 1 If txtsql = Then txtsql = xj.班级= & Trim(Text1(2).Text) & Else txtsql = txtsql & and xj.班级= & Trim(Text1(2).Text) & End IfEnd IfIf Trim(Text1(3).Text) Then aa = 1 txtsql = txtsql = xj.姓名 like % & Trim(Text1(3).Text) & %End IfIf aa = 0 Then ss = MsgBox(你至少要输入一个条件以上才能查询!, , 警告) Text1(0).SetFocus Exit SubEnd IfDim str As Stringstr = select * from xj where & txtsqlDim mrc As ADODB.RecordsetSet mrc = ExecuteSQL(str)If mrc.EOF = True Then zzz = MsgBox(对不起,没有此学生的档案记录!, vbOKOnly, 查询) Form4.ZOrder (0) Form4.Text1(0).SetFocus Exit SubEnd If 对于记录修改,可以使用下面程序:If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) = Then sssss = MsgBox(你还没有选择记录!, vbOKOnly + vbExclamation, 警告) Exit Sub Else24 qxstr = Executeqx(2) If qxstr = readonly Then ss = MsgBox(对不起,你是只读用户不能修改记录,请与管理员联系!, vbInformation + vbOKOnly, 警告) Exit Sub End If modi = True Form1.Show Form1.ZOrder 0 End If 对于记录删除,可以使用下面程序:Dim mrc As ADODB.Recordset Dim intcount As Integer If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) = Then sssss = MsgBox(你还没有选择记录!, vbOKOnly + vbExclamation, 警告) Else If qxstr = readonly Then ss = MsgBox(对不起,你是只读用户不能删除记录,请与管理员联系!, vbInformation + vbOKOnly, 警告) Exit Sub End If If MsgBox(确定要删除学号为 & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & 的记录吗? & Chr(10) & Chr(13) & 该操作会导致该学生交费记录和成绩记录的丢失!确定吗?, vbOKCancel + vbExclamation, 警告) = vbOK Then intcount = Me.MSF1.Row txtsql = delete * from xj where 学号= & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & Set mrc = ExecuteSQL(txtsql) txtsql = delete * from jf where 学号= & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & Set mrc = ExecuteSQL(txtsql) txtsql = delete * from cj where 学号= & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & 25 Set mrc = ExecuteSQL(txtsql) TreeView1_DblClick End If End If浏览界面,在此处可以进行查找、修改、删除和打印工作。效果如图 6-8 所示: 图 6-8 学生档案浏览下面为查询界面,可在此处进行记录的查询。效果如图 6-9 所示:图 6-9 学生档案查询可使用下面程序完成:Private Sub Command1_Click()Dim aa As Integer txtsql = If Trim(Text1(0).Text) Then aa = 1 If txtsql = Then txtsql = xj.学号= & Trim(Text1(0).Text) & Else txtsql = txtsql & and xj.学号= & Trim(Text1(0).Text) & End IfEnd IfIf Trim(Text1(1).Text) Thenaa = 1 If txtsql = Then26 txtsql = xj.姓名= & Trim(Text1(1).Text) & Else txtsql = txtsql & and xj.姓名= & Trim(Text1(1).Text) & End IfEnd IfIf Trim(Text1(2).Text) Then aa = 1 If txtsql = Then txtsql = xj.班级= & Trim(Text1(2).Text) & Else txtsql = txtsql & and xj.班级= & Trim(Text1(2).Text) & End IfEnd IfIf Trim(Text1(3).Text) Then aa = 1 txtsql = txtsql = xj.姓名 like % & Trim(Text1(3).Text) & %End IfIf aa = 0 Then ss = MsgBox(你至少要输入一个条件以上才能查询!, , 警告) Text1(0).SetFocus Exit Sub End IfDim str As Stringstr = select * from xj where & txtsqlDim mrc As ADODB.RecordsetSet mrc = ExecuteSQL(str)If mrc.EOF = True Then zzz = MsgBox(对不起,没有此学生的档案记录!, vbOKOnly, 查询) Form4.ZOrder (0) Form4.Text1(0).SetFocus Exit SubEnd Iftxtsql = select xj.学号,xj.姓名,xj.性别,class.年级,xj.班级,class.专业,class.年制,xj.出生年月,xj.家庭住址,xj.邮政编码,xj.联系电话,xj.入学时间,xj.备注 from xj inner join class on xj.班级=class.班级 where & txtsql & order by class.年级 desc,class.班级 desc,xj.学号 descForm3.printstr = txtsqlfind = TrueForm3.Showselect xj.学号,xj.姓名,xj.性别,class.年级,xj.班级,class.专业,class.年制,xj.出生年月,xj.家庭住址,xj.邮政编码,xj.联系电话,xj.入学时间,xj.备注 from xj inner join 27class on xj.班级=class.班级 where xj.班级=01 美术一 or 年级=01 美术一 order by class.年级 desc,class.班级 desc,xj.学号 descForm3.Caption = 学生档案查询结果Form3.showtitleForm3.showdataEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Activate()find = TrueEnd SubPrivate Sub Form_LostFocus()Unload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer)find = FalseForm3.Caption = 浏览学生档案End SubPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)If KeyAscii = 39 Then KeyAscii = 0End IfEnd Sub6.3.56.3.5 班级管理界面班级管理界面点击“班级管理”显示如下界面,效果如图 6-10 所示:图 6-10 班级管理界面班级管理模块有班级浏览、班级添加、班级查询三项功能,其中班级浏览界面中也有修改、删除、打印功能。上述所有功能全部类似于学生档案管理界面中对应的功能。在此不再赘述。28第七章第七章 系统系统测试测试系统测试是面向系统中各种构成因素的,按照维护对象的不同,系统测试的内容可分为以下几类:统应用程序测试;数据测试;代码测试;硬件设备测试。采用结构化开发方法与否对系统测试工作有极大影响,具有很高的代价,系统测试工作对测试人员要求较高,对象是整个系统的配置。管理信息系统在完成系统实施、投入正常运行之后,就进入了系统运行与维护阶段。因技术、设备有限,只对系统的基本运行环节进行了测试。首先运行程序,弹出登录窗体,输入用户名,密码,进入主界面,然后点击系统管理,选择添加用户,进入新增用户界面,输入要添加的用户名,密码,选择用户权限,点确定,提示添加成功。其它功能测试与添加用户流程雷同,暂不一一复述。通过对系统基本功能,如:入学登记,学生学费交纳查询,课程设置,学生成绩管理等,得出结论,此系统基本能够实现设计要求,可以用于实践。29第八章第八章 结束语结束语经过这几个月的设计和开发,学生信息管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及学费交纳情况的查询,课程设置、查询等功能,实现了设计初衷。并提供部分系统测试功能,使用户方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。而且在这次设计中我也受益良多,对 VB 系统的应用更加得心应手,语言更加简便,应用更加直接,对各控件的把握也有一定提高,虽然中间遇到好多问题,但通过老师的帮助都得到了解决,通过对整个系统的整体设计,也认识到了自己对系统设计方面所存在的不足,比如想事情不够周到,不能够把细节做的很好等。但是由于本人水平所限,所以该系统还有许多不尽如人意的地方,比如预先设计的报表打印功能,教师授课设置等由于技术原因没能实现,这些都有待进一步改善。30参考文献参考文献 Bob Reselman .Visual Basic 6.0 使用指南 ,电子工业出版社 2003 Craig Edd.中文 Access 2000 24 学时教程,机械工业出版社 2004 杨仓杰.VISUAL BASIC 经典范例,清华大学出版社 2003 张海藩.软件工程导论 ,清华大学出版社 2003 郑人杰.应用软件工程 ,清华大学出版社 2003 李绍原.OFFICE 2000 ,科学出版社 2004
展开阅读全文