首页 学生信息管理系统课设+VB+SQL

学生信息管理系统课设+VB+SQL

举报
开通vip

学生信息管理系统课设+VB+SQL 目 录 11 引 言 22 简 介 22.1 Visual Basic简介 22.1.1主窗口 32.1.2 属性窗口 32.1.3工程资源管理器窗口 32.1.4代码窗口 32.1.5窗体布局窗口 32.1.6工具箱窗口 32.2 数据库系统简介 32.2.1 数据库的基本结构 42.2.2 数据库的主要特点 52.2.3 数据库发展阶段大致划分为如下几个阶段 52.2.4数据库结构与数据库种类 62.3 SQL语言介绍 62.3.1 ...

学生信息管理系统课设+VB+SQL
目 录 11 引 言 22 简 介 22.1 Visual Basic简介 22.1.1主窗口 32.1.2 属性窗口 32.1.3工程资源管理器窗口 32.1.4代码窗口 32.1.5窗体布局窗口 32.1.6工具箱窗口 32.2 数据库系统简介 32.2.1 数据库的基本结构 42.2.2 数据库的主要特点 52.2.3 数据库发展阶段大致划分为如下几个阶段 52.2.4数据库结构与数据库种类 62.3 SQL语言介绍 62.3.1 SQL简介 72.3.2 SQL语言的数据查询 83 需求 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 83.1提出问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 83.2项目开发目标 83.3系统的运行环境 94 系统总体设计 94.1系统总体设计框图 94.2系统功能模块设计 115 数据库设计 115.1 ER模型的设计 125.2 数据库逻辑结构设计 125.3 数据库物理设计 146 系统详细设计 146.1 数据库及表创建 156.2 创建工程项目 156.3主窗体的建立 176.3.1 用户登陆模块 186.3.2 新生注册窗体 196.3.3 成绩修改窗体 216.3.4 成绩输入窗体 216.3.5 学生档案管理 226.3.6 学生课程管理 237 系统测试与分析 237.1 测试实例研究与选择 237.2性能分析 24结束语 25谢 辞 26参考文献 27附 录 1 引 言 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件学生成绩,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难[1]。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情。结合上述要求,在基于SQL2000数据库技术以及面向对象的编程技术的基础上,研究了这套学生信息管理系统。该系统可以实现学生基本信息的管理和成绩管理,并可实现多用户登陆。 由于时间紧迫、掌握技术有限等条件限制,本系统可能还存在着一些不足之外,敬请老师同学批评指导。 2 简 介 2.1 Visual Basic简介[4] 1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。   Visual 意即可视的、可见的,指的是开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。   Basic 实际上是一个短语的缩写,这个短语就是 Beginners all_purpose symbolic instruction code ,其中文意思为“初始者通用符号指令代码语言”。   Visual Basic 6 有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用 Visual Basic 开发一般 Windows 应用程序的人员,但是;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。   Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。 2.1.1主窗口 与其他的Windows窗口类似,Visual Basic的主窗口也由标题栏、菜单栏、工具栏等项组成。 1.标题栏 标题栏中的标题为“工程1-Microsoft Visual Basic[设计]”,说明此时集成开发环境入于设计模式,在进入基他状态时,方括号的文字将作相应的变化。 VB有3种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模式。 2.菜单栏 Visual Basic的菜单栏中除了提供 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的“文件”、“编辑”、“视图”、“窗口”和“帮助”等菜单外,还提供了编程专用的一些功能菜单,如“工程”、“格式“、“调试”、“运行”等,程序开发过程中所需要的命令和功能均包含在这些菜单中。 3.工具栏 工具栏集中了最常用的操作,利用工具栏按钮可以迅速地访问常用的菜单命令。 2.1.2 属性窗口 设置窗体或控件的属性,如 颜色、字体、大小等。 属性窗口由以下部分组成: (1)对象列表框 (2)属性显示排列方式 (3)属性列表 2.1.3工程资源管理器窗口 在该窗口中可以对当前使有的工程中所有部件进行管理,它的主要功能是:添加、删除各个组成部分;在代码和界面设计之间进行切换;宏观地对整个工程进行控制。 2.1.4代码窗口 代码窗口的主要功能是编辑事件驱动程序及其他代码,它是专门用来进行程序设计的窗口,可在其中显示和编辑程序代码。 2.1.5窗体布局窗口 窗体布局窗口用于表明程序运行时程序窗口出现的初始位置。 2.1.6工具箱窗口 刚安装Visual Basic时,它由21个被绘制成按钮的图标构成,显示了各种控件的制作工具。利用这些工具,用户可以在窗体上设计各种控件。 2.2 数据库系统简介 2.2.1 数据库的基本结构 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。   (1)物理数据层。   它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。   (2)概念数据层。   它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。   (3)逻辑数据层。   它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 数据库不同层次之间的联系是通过映射进行转换的。 2.2.2 数据库的主要特点 (1)实现数据共享。   数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。   (2)减少数据的冗余度。   同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。   (3)数据的独立性。   数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 (4)数据实现集中控制。 文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。   (5)数据一致性和可维护性,以确保数据的安全性和可靠性。   主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。 2.2.3 数据库发展阶段大致划分为如下几个阶段 人工管理阶段; 文件系统阶段; 数据库系统阶段; 高级数据库阶段。 2.2.4数据库结构与数据库种类[2]   数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。   1.数据结构模型   (1)数据结构   所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。(2)数据结构种类   数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。   目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。   2.层次、网状和关系数据库系统   (1)层次结构模型   层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。例如图20.6.4是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。   按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(Information Manage-mentSystem)是其典型代表。   (2)网状结构模型   按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。   (3)关系结构模型   关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 形式)。例如某单位的职工关系就是一个二元关系。   由关系数据结构组成的数据库系统被称为关系数据库系统。   在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。dBASEII就是这类数据库管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dBASEII建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEII的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。 2.3 SQL语言介绍 2.3.1 SQL简介 SQL是英文Structured Query Language的缩写,意思为结构化查询语言,是访问数据库的标准语言。 SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作[1]。 SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。 SQL语言可以完成许多功能,例如: (1)查询数据; (2)在数据库表格中插入、修改和删除记录;  (3)建立、修改和删除数据对象; (4)控制对数据和数据对象的存取; (5)确保数据库的一致性和完整性等。 2.3.2 SQL语言的数据查询 使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的功能。在本系统中就大量地使用了数据插入、删除和修改这三种操作,现在对它们做一个简单地介绍[1]。 (1)数据插入 往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:一种是元组值的插入,另一种是查询结果的插入。在本系统中使用的是前一种方式,其句法如下: INSERT INTO 基本表名(列表名)VALUES(元组值) (2)数据删除 从数据库的基本表中删除数据使用的是DELETE语句,其句法如下: DELETE FROM 基本表名 [WHERE 条件表达式] (3)数据修改 当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下: UPDATE基本表名SET列名=值表达式[,列名=值表达式…][WHERE条件表达式] 3 需求分析 3.1提出问题 数据库是一门研究数据管理的技术,始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。   随着社会的发展和经济时代的到来,管理信息系统在各行各业都占据着越来越重要的地位,特别是教育事业。在经济发达的国家,许多教育机构(如公办、私立、培训机构等),都投入了大量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。因此,开发一套能够为此提供 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化的事务管理、充足的信息和快捷的查询手段的学生信息管理系统是非常必要的。 3.2项目开发目标 学生信息管理系统是面向教育部门的学生管理事务,包括学生基本信息管理,学生成绩管理等工作,是利用计算机进行集中管理而开发的系统。该系统是以SQL 2000为后台数据库进行开发的毕业生就业管理系统,力求与实际相结合具有查询、管理等功能,使教育的管理趋于计算机化,使之更加方便、快捷以提高工作效率。 根据学生信息管理的需求和特点,该系统实施后,应达到以下目标: (1)灵活地运用表格输入数据,使信息传递更快捷; (2)系统采用人机对话方式,界面美观友好、数据存储安全可靠; (3)键盘操作,快速响应; (4)实现各种信息的添加、删除、修改、查询等; (5)系统运行稳定、安全可靠。 3.3系统的运行环境 此系统,代码使用VB语言编写,数据库管理系统采用SQL2000数据库管理系统,运行在Windows98/ME/2000/XP系统下。 4 系统总体设计 4.1系统总体设计框图 毕业生就业管理系统实现了对用户的管理、系别信息的管理、学生基本信息的管理、学生就业信息的管理、招聘单位信息的管理等功能。总体设计框图如图4.1所示。 4.2系统功能模块设计 系统功能包括可视化窗口,对各种信息的添加、修改、删除和查询等具体功能如图4.2所示。 5 数据库设计 5.1 ER模型的设计 毕业生就业管理系统概念结构设计是在系统的需求分析、数据流程图和数据字典基础上的抽象,结合联系ER模型的设计方法,进行如下概要结构设计。为了使ER图表示得更加清晰,将E-R图分成实体属性ER图及实体联系ER图。 (1) 用实体及其属性的部分ER图表示数据库系统的概念模型。 ①学生信息实体ER图,如图5.1所示: ②班级信息实体ER图,如图5.2所示: ③班级信息实体ER图,如图5.3所示: ④用户实体ER图,如图5.4所示: (2)用实体及其联系的部分ER图表示数据库系统的概念模型,实体之间ER图,如图5.5所示: 5.2 数据库逻辑结构设计[3] 逻辑设计的目的是把概念数据模型转化为数据库管理系统可以处理的逻辑模型。也即将由ER图表示的概念模型转换为DBMS通用的逻辑模型,如关系模型,然后对其进行优化。 以关系模型为目标的逻辑结构设计方法是将ER实体图中概念模型映射为关系模型,并且包括一组关系定义,映射的步骤如下: (1)把ER实体图中的每个实体变换为一个关系模型。 (2)变换每个关系:多对多模型需要加一个单独的关系模型;而一对一的或者一对多的联系可用在实体中增加属性(此处为外键)来模型化。 (3)ER图中的属性可转换为关系的属性。 5.3 数据库物理设计 系统中的数据表如下所示: (1)系统用户数据表(用户表)记录系统所有用户名和密码信息,表中的各个字段以及各个字段的说明如表5.1所示: 字段名称 数据类型 字节数 说明 用户名 文本 6 主键 密 码 文本 6 非空 (2)学生信息表记录学生学号、姓名等基本信息,表中的各个字段以及各个字段的说明如表5.2所示: 字段名称 数据类型 字节数 说明 学 号 文本 9 主 键 姓 名 文本 10 允许空 性 别 文本 2 允许空 年 龄 数值 4 允许空 系 别 文本 20 允许空 字段名称 数据类型 字节数 说明 学 号 文本 6 主 键 课程号 文本 4 主 键 成 绩 数值 4 允许空 (3)学生成绩表记录学生学号、课程号及相关的成绩,表中各个字段以及各个字段的说明如表5.3所示: (4)课程信息表记录课程号、课程名等相关信息,表中各个字段以及各个字段的说明如表5.4所示: 字段名称 数据类型 字节数 说明 课程号 文本 4 主 键 课程名 文本 20 允许空 先行课 文本 4 允许空 学 分 数值 2 允许空 6 系统详细设计 6.1 数据库及表创建 启动SQL2000 Server,右击“数据库”点击“新建数据库”,在弹出的“数据库属性”对话框中可键入数据库名及其它其它信息,如图6.1所示: 数据库创建完毕后,点击可打开。右击“表”选择“新建表”,可以进行表的创建以及进行相关的表属性设置,如图6.2所示: 创建完表后右击对应表名——“打开表”——“返回所有行”,可对表进行添加、修改、插入、删除等相应编辑操作,如图6.3所示: 6.2 创建工程项目 (1) 启动VB 6.0,出现VB6.0运行界面,如图6.4所示: (2) 点击“文件”——“保存工程”保存当前工程文件。 6.3主窗体的建立 在VB程序设计中,主界面负责应用程序的主界面,由它调用其它模块。因此,主界面应该具有操作性好、界面清晰、使用户能够很方便地找到所需功能的特点。本系统的主界面部在相应的系统菜单组成,用户只需要点击相应的菜单使可调出对应的系统模块。 相应代码: Private Sub changecj_Click() Form6.Show End Sub Private Sub cjshuru_Click() Form7.Show End Sub Private Sub dispcj_Click() Form5.Show End Sub Private Sub exit_Click() End End Sub Private Sub newuser_Click() Form11.Show End Sub Private Sub newusr_Click() Form10.Show End Sub Private Sub stucase_Click() Form3.Show End Sub Private Sub xskcgl_Click() Form9.Show End Sub Private Sub xueshendagl_Click() Form8.Show End Sub Private Sub xueshengcx_Click() Form4.Show End Sub 6.3.1 用户登陆模块 本模块共有三个部分组成:用户登陆窗体、密码修改窗体、新用户注册窗体。 用户登陆窗体主要由文本框及命令按钮组成,利用Adodc控件及DataGrid控件实现程序代码与SQL数据的连接(如图6.6所示)。用户键入用户名及密码后点击“确定”按钮系统会通过上述两个控件与数据库进行连接并进行数据的比较,如果存在该用户及密码正确则会进行系统跳转进行主控制界面,否则会提示用户出错,重新输入用户名及密码,次数无限制。默认用户名为:admin,默认密码为:123456 密码修改窗体及新用户注册窗体及登陆窗体的控件组成大致相同,这里不再详述。 用户登陆代码: Dim username As String, userpass As String Private Sub Command1_Click() Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find ("userID='" & Text1 & "'") If Adodc1.Recordset.EOF Then MsgBox "无此用户,请重新输入!" Exit Sub Else abc = Adodc1.Recordset.Fields(1) If Text2 = Trim(abc) Then MsgBox "欢迎使用本系统,点击进入!", vbOKOnly, "登陆" Me.Hide Form2.Show Else MsgBox "用户名或密码不正确,请重新输入!" Text1 = "" Text2 = "" Exit Sub End If End If End Sub Private Sub Command2_Click() End End Sub 6.3.2 新生注册窗体 点击“新生注册”——“学生档案”可打开本窗体,本窗体专门为新生注册使用。通过ADODC控件实现本窗体与数据库学生表的连接,文本框默认不可编辑,用户点击“添加记录”按系统提示可自动完成添加。如图6.7所示 对应代码: Private Sub Command1_Click() Adodc1.Recordset.AddNew Text1 = InputBox("请输入学生学号", "添加学号") Text2 = InputBox("请输入学生姓名", "添加姓名") Text3 = InputBox("请输入学生性别", "添加性别") Text4 = InputBox("请输入学生年龄", "添加年龄") If Not IsNumeric(Text4) Then MsgBox "请输入数值" Text4.SetFocus End If Text5 = InputBox("请输入学生系别", "添加系别") resu = MsgBox("确认添加到数据库", vbOKCancel, "确认添加") If resu = vbOK Then Adodc1.Recordset.Update Else Adodc1.Recordset.Delete End If End Sub Private Sub Command2_Click() Me.Hide Form2.Show End Sub 6.3.3 成绩修改窗体 本窗体通过ADODC控件连接数据库的成绩表,默认条件下文本都不可编辑,用户可以点击上一条、下一条进行表的浏览操作。点击“确认修改记录”按钮,成绩文本框变为可编辑状态,用户根据系统提示可完成记录修改操作。如果键入的成绩小0,则系统提示出错,并自动将出错成绩重置为60分。 相应代码: Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) Adodc1.Caption = Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst ' 第一条 Case 1 Adodc1.Recordset.MovePrevious ' 上一条 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext ' 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast ' 最后一条 Case 4 Dim mno As String mno = InputBox("请输入学号", "查找窗") ' 将输入值存到变量内 Adodc1.Recordset.MoveFirst ' 移动记录指针到第一条记录上 Adodc1.Recordset.Find ("sno='" & mno & "'") '用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox "无此学号!" & Adodc1.Recordset.AbsolutePosition, , "提示" End Select End Sub Private Sub Command2_Click() Adodc1.Recordset.Update End Sub 6.3.4 成绩输入窗体 本窗体通过控件与文本框与数据库成绩表实现连接,文本框默认不可编辑,但可以实现成绩的浏览功能。用户点击“添加成绩”按钮,按照系统提示可完成成绩的添加操作。由于成绩表已经与学生表以及课程表建立了完整性约束,所以如果用户键入的学号或者课程号不存在则将会提示用户出错,并且重新输入。 6.3.5 学生档案管理 本窗体通过ADODC控件连接数据库的学生表,可以实现对学生档案的添加、删除、修改、查询以及浏览操作。控件在程序运行时不可见,但却必不可少。用户点击上一条、下一条可以实现记录的浏览,且内容不可编辑。查询记录时,只有查询条件及查询内容都有修改的时候,查询按钮才可用,否则不可用。修改或者删除记录选项与确定按钮相连接,由于采用单选按钮,故某一时刻只能实现某一种操作。执行该操作时记录内容不可编辑。 6.3.6 学生课程管理 本窗体通过ADODC控件连接数据库的课程表,可以实现对课程系统的添加、删除、修改、查询以及浏览操作。控件在程序运行时不可见,但却必不可少。用户点击上一条、下一条可以实现记录的浏览,且内容不可编辑。查询记录时,只有查询条件及查询内容都有修改的时候,查询按钮才可用,否则不可用。修改或者删除记录选项与确定按钮相连接,由于采用单选按钮,故某一时刻只能实现某一种操作。执行该操作时记录内容不可编辑。 7 系统测试与分析 软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。测试主要是由人而不是由机器执行,因而存在心理学的问题。 7.1 测试实例研究与选择 由于软件错误的复杂性,软件测试需要综合应用测试技术,软件测试步骤为单元测试、集成测试、确认测试和系统测试。 单元测试是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现了规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计的文档。各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的软件体系结构的有关问题。确认测试主要检查已实现的软件是否满足需求规格说明书中确定的各种需求。系统测试将已确定的软件与其他系统元素(如硬件、其他支持软件、数据和人工等)结合在一起进行测试。 本系统是管理系统,主要是从数据库中读取数据,因而测试的实例主要是实现与数据相关的各种操作。应用白盒测试法中的语句覆盖方法使得程序中的每条语句都执行一次。 7.2性能分析 测试过程中发现了不合适或不相容的类型说明;有的变量无初值;有的变量初始化或缺省值有错;有的变量名不正确的(拼错或不正确地截断);出现上溢、下溢和地址异常等问题,并逐个予以解决,保证了临时存储在模块内的数据在程序执行过程中完整、正确。 本系统长时间不间断连续运行不会出现错误,系统不会出现系统故障,不会出现严重的错误,并且由于有较高的容错技术,能较快的纠正意外错误,使系统稳定可靠。 本系统能够准确,快速的处理学生信息管理的操作事务,能够满足管理者的需求,并大大减少了教务管理者的信息查询及维护的麻烦,实现日常处理计算机化,使系统简单实用。 系统程序代码中设计了判断语句,用来判断操作错误时弹出报错对话框,在系统中设置了权限判断,使数据具有一定的保密性,增加了系统的安全性。 本系统的功能还不是很完善,系统的界面设计的还有些简单,样式还不是特别美观,有待于进一步设计;系统设计中后台数据库应用SQL server,结合VB程序设计使操作更简单,理解更方便。 经过系统的性能测试得出,本系统虽然有一定的缺陷和限制,但本系统的具体功能能够完整实现,所以本系统可以投入到现实应用中。 8 结束语 本次课程设计是我第一次系统的、完整的接触软件设计的过程。我做的是学生信息管理系统。在这次课程设计中,我体会很深,也学会了很多东西,懂得很多以前不懂的东西,也明白了一些事情。 通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从学到用,从用又到学,不断修改,系统更新。 在本系统的开发过程中,由于我是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生管理系统是一套学校在日常管理中必不可少的管理软件,通过开发这个系统,了解了基本知识巩固了我对Visual Basic 6.0的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。 课程设计结束了,但我不会忘记在这次课程设计中我所得到的。我深深的体会到了这几句话:认真做事只是把事情做对,用心做事才能把事情做好。把每一件简单的事情做好就是不简单,把第一件平凡的事情做好就是不平凡。在以后的学习中我会不断的在实际中应用这几句话,我要不断的总结,不断的改进,不断的努力,使自己的成绩提高。 谢 辞 在将近一周的课程设计里,首先我很感谢马桂英老师的悉心指导。在整个设计过程中,马老师给了我很多的指导和支持,才使得些次设计圆满结束。在此,真诚的对马老师说一声:“谢谢,老师,您辛苦了”。 此次设计的顺利完成还要感谢给予我帮助的同学们,我们讨论所遇到的问题,并一起解决。在讨论中解决问题,并且在交流的过程中,我们也可以学到更多的东西。 通过这次课设让我学到许多。在学习专业课的时候要注意理论联系实际。注意将课本上的知识应用到日常的操作中,真正做到学以致用。只有这样,才能做到目的明确,才能有足够的学习动力。 课程设计已经结束了,这次课程设计带给自己很多体会,在以后的学习中要不断总结,不断改进,使自己的成绩有新的提高。 参考文献 [1] 萨师煊,王珊,数据库系统概论,高等教育出版社,2002,2:1-150 [2] 张来寅,谭明勇,数据库系统原理与应用,冶金工业出版社,2003,7:27-50 [3] 梁灿,赵艳泽,SQL数据库应用基础教程,清华大学出版社,2005,11:10-30 [4] 柴欣,武优西,Visual Basic程序设计基础(第三版),北京:中国铁道出版社,2005 附 录 用户登陆窗口代码: Dim username As String, userpass As String Private Sub Command1_Click() Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find ("userID='" & Text1 & "'") If Adodc1.Recordset.EOF Then MsgBox "无此用户,请重新输入!" Exit Sub Else abc = Adodc1.Recordset.Fields(1) If Text2 = Trim(abc) Then MsgBox "欢迎使用本系统,点击进入!", vbOKOnly, "登陆" Me.Hide Form2.Show Else MsgBox "用户名或密码不正确,请重新输入!" Text1 = "" Text2 = "" Exit Sub End If End If End Sub Private Sub Command2_Click() End End Sub 添加记录代码: Private Sub Command1_Click() Adodc1.Recordset.AddNew Text1 = InputBox("请输入学生学号", "添加学号") Text2 = InputBox("请输入学生姓名", "添加姓名") Text3 = InputBox("请输入学生性别", "添加性别") Text4 = InputBox("请输入学生年龄", "添加年龄") If Not IsNumeric(Text4) Then MsgBox "请输入数值" Text4.SetFocus End If Text5 = InputBox("请输入学生系别", "添加系别") resu = MsgBox("确认添加到数据库", vbOKCancel, "确认添加") If resu = vbOK Then Adodc1.Recordset.Update Else Adodc1.Recordset.Delete End If End Sub Private Sub Command2_Click() Me.Hide Form2.Show End Sub 学生查询代码: Private Sub Command1_Click() If Text1 = "" Then MsgBox "请输入查询条件" Text1.SetFocus End If If Option1.Value = True Then Adodc1.Recordset.Find ("sno='" & Text1 & " '") If Adodc1.Recordset.EOF Then MsgBox "没有该学生" ElseIf Option2.Value = True Then Adodc1.Recordset.Find ("sname='" & Text1 & " '") If Adodc1.Recordset.EOF Then MsgBox "没有该学生" End If End Sub Private Sub Option1_Click() Text2 = "" Adodc1.Recordset.MoveFirst End Sub Private Sub Option2_Click() Text1 = "" Adodc1.Recordset.MoveFirst End Sub 成绩查询代码: Private Sub Command1_Click() If Text4 = "" Then MsgBox "请输入查询的学号" Text4.SetFocus End If Adodc1.Recordset.MoveFirst abcd = "Sno='" & Text4 & " '" Adodc1.Recordset.Find (abcd) If Adodc1.Recordset.EOF Then MsgBox "没有该学生记录" Text4.SetFocus End If End Sub Private Sub Text4_Change() If Len(Text4) > 0 Then Command1.Enabled = True Else Command1.Enabled = False End If End Sub 修改记录代码: Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) Adodc1.Caption = Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst ' 第一条 Case 1 Adodc1.Recordset.MovePrevious ' 上一条 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext ' 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast ' 最后一条 Case 4 Dim mno As String mno = InputBox("请输入学号", "查找窗") ' 将输入值存到变量内 Adodc1.Recordset.MoveFirst ' 移动记录指针到第一条记录上 Adodc1.Recordset.Find ("sno='" & mno & "'") '用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox "无此学号!" & Adodc1.Recordset.AbsolutePosition, , "提示" End Select End Sub Private Sub Command2_Click() Adodc1.Recordset.Update End Sub 成绩添加代码: Private Sub Command1_Click() Dim adc As String Adodc1.Recordset.AddNew a: Text1 = InputBox("输入学生学号", "添加成绩") mm = Len(Text1) For i = 1 To mm abc = Mid(Text1, i, 1) If abc < "0" Or abc > "9" Then MsgBox "输入格式不正确请重新输入" GoTo a End If Next i b: Text2 = InputBox("输入课程号", "添加成绩") mm = Len(Text2) For i = 1 To mm abc = Mid(Text2, i, 1) If abc < "0" Or abc > "9" Then MsgBox "输入格式不正确请重新输入" GoTo b End If Next i c: Text3 = InputBox("输入学生成绩", "添加成绩") mm = Len(Text3) For i = 1 To mm abc = Mid(Text3, i, 1) If abc < "0" Or abc > "9" Then MsgBox "输入格式不正确请重新输入" GoTo a End If Next i resu = MsgBox("确认添加数据库??", vbOKOnly, "确认添加") If resu = vbOK Then Adodc1.Recordset.Update Else Text1 = "" Text2 = "" Text3 = "" End If End Sub 学生档案管理代码: Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst ' 第一条 Case 1 Adodc1.Recordset.MovePrevious ' 上一条 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext ' 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast ' 最后一条 Case 4 Dim mno As String mno = InputBox("请输入学号", "查找窗") ' 将输入值存到变量内 Adodc1.Recordset.MoveFirst ' 移动记录指针到第一条记录上 Adodc1.Recordset.Find ("sno='" & mno & "'") '用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox "无此学号!" & Adodc1.Recordset.AbsolutePosition, , "提示" End Select End Sub Private Sub Command2_Click() Dim abcd As String Dim find1 a: If Option1.Value = Option2.Value Then MsgBox "请选择查询条件!" Exit Sub End If If Text6.Text = "" Then MsgBox "请输入查询条件" Text1.SetFocus Exit Sub End If If Option1.Value = True Then Adodc1.Recordset.Find ("sno='" & Text6 & " '") If Adodc1.Recordset.EOF Then MsgBox "没有该学生" ElseIf Option2.Value = True Then Adodc1.Recordset.Find ("sname='" & Text6 & " '") If Adodc1.Recordset.EOF Then MsgBox "没有该学生" End If End Sub Private Sub Command3_Click() If Option3.V
本文档为【学生信息管理系统课设+VB+SQL】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_596426
暂无简介~
格式:doc
大小:653KB
软件:Word
页数:36
分类:互联网
上传时间:2011-11-25
浏览量:44