网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

学生信息管理系统毕业论文和原代码

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
系统规约说明书(System Specification)
 
软件项目可行性研究报告(Report for Feasibility Study)
 
软件项目计划(Software Project Plan)
 
需求规格说明书(Requirements Specification)
 
概要设计说明书(Architectural Design Specification)
 
详细设计说明书(Procedural Design Specification)
 
用户操作手册(User Guide)
 
测试计划(Test Plan)
 
测试分析报告(Test Specification)
 
开发进度月报(略)
 
项目开发总结报告
 
软件修改报告(略)
 
附录
 
系统规约说明书(System Specification)
 
一.引言
 
1. 文档的范围和目的
该文档处于该软件的问题提出阶段,该阶段的关键任务是确切地定义用户要求解决的问题,也就是确定问题的性质,工程的目标和规模。该系统规约说明书的目的是:让分析员把自己对问题的明确认识写成书面报告,提交用户和使用部门的负责人审查,以检验分析员对问题的理解是否正确。为以后的工作确定方向,所以这份报告是非常重要的,这对确保今后开发工作的成功是至关重要的。
 
2. 概述
.系统目标
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增
 

长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
 
.系统约束
考虑到项目时间、资源等因素,在实际开发该计算机系统时,常常要为资源不足和交付日期难以完成而苦恼,因而需要慎重地尽可能早地估价研制课题的可行性。可行性研究包括:经济可行性、技术可行性、法律可行性、不同的方案等等。
 
二.系统功能和数据描述
 
1. 系统总体结构
系统开发的总体任务是实现信息关系的系统化、规范化和自动化。
 
.系统的结构关系图如下:
 
 
 
 
 
 
图一系统结构关系图
 
.结构关系图描述
系统的结构关系图是系统的总体功能分析,是在系统开发的总体任务的基础上完成的。本项目中的学生信息系统需要完成的功能主要有:
 
● 有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等。
● 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。
● 学生信息的修改。
● 班级管理信息的输入,包括班级设置、年级信息等。
● 班级管理信息的查询。
● 班级管理信息的修改。
● 学校基本课程信息的输入。
● 基本课程信息的修改。
● 学生课程的设置和修改。
● 学生成绩信息的输入。
● 学生成绩信息的修改。
● 学生成绩信息的查询。
● 学生成绩信息的统计。
 
三.子系统描述
1. 子系统的结构图规约说明
学生子系统的结构图应该包括学生基本信息、所在的班级、所学课程和成绩
 

等以及相对应的数据结构规约.
班级子系统应该包括班级设置、年级信息等等与与之对应的数据规约.
课程子系统应该包括课程信息、开课时间、选课人数等等数据规约.
2. 结构字典
由于该信息系统与之子系统结构简单,如上图系统结构规约显而易见,故省略该项内容。
3. 结构连接图和说明
 
图二系统结构连接图
四. 系统建模和模拟结构
1. 用于模拟的系统模型
该系统的主要结构与功能在上面两张图中(系统结构关系图\结构连接图)已非常清楚,用于模拟的系统模型参照上图,主要模块及功能可分为系统管理\成绩管理\学籍管理\课程管理\班级管理.使用上述系统的模型可对系统进行初步的模拟.
2. 模拟结果
使用系统模型对整个系统进行初步的模拟之后可得出系统的模拟结果,系统的主要功能设计合理,且易操作,系统的主要目标已达到.系统模型模拟成功.
3. 特殊性能
系统主要功能为学生信息的管理,课程信息的管理.此外可以加入用户的管理与用户数据的共享,并且有必要实现系统信息的加密,这一点在学生学籍管理模块中尤为重要--因为学生的信息有的是保密的所以对于数据库的加密是系统必要的附加特殊功能.
五. 软件项目问题
1. 软件项目可行性研究报告
系统的软件项目可行性研究报告(Report for Feasibility Study)在下面将详细叙述,在此就略过.
 
2. 软件项目计划
系统的软件项目计划(Software Project Plan)在下面将详细叙述,在此略过.
 
软件项目可行性研究报告(Report for Feasibility Study)
一. 引言
1. 编写目的
该软件项目可行性研究报告是对项目课题的全面通盘考虑,是项目分析员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础.写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,就可以少花费几个月甚至几年的时间和精力,也可以节省成千上万元的资金,并且避免了许多专业方面的困难.所以该软件项目可行性研究报告在整个开发过程中是非常重要的.
2. 项目背景
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
 

目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作.
3. 缩略词定义
经济可行性---估计开发费用以及最终从开发成功的系统所获得的收入或利益,衡量比较支出的费用和收到的利益.
技术可行性--分析功能,性能以及限制条件,能否是一个技术上可实现的系统.
法律可行性--明确系统开发可能导致的责任,有无违法问题.
不同的方案--对系统开发的各种方案进行评价.
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 可行性研究的前提
1. 要求
开发该软件的基本要求与功能是实现学生信息数据包括与学生有关的数据的管理与操作处理,基于Microsoft SQL Server 2000数据库系统的数据管理使该软件有更优异的性能.软件的基本数据流动为用户数据的输入,学生信息,课程信息,班级信息的输入,以及有关用户提出的对学生信息等等的查询要求所产生的数据输出.数据的输入与输出处理流程都依靠数据库的支持.数据的安全基本保证SQL Server的安全性能比较令人满意,该软件设计中保持与其他一些数据库的基本兼容.
2. 目标
该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化.实现保证软件质量的前提下的资金投入最小化.
3. 条件、假定和限制
开发该系统的主要资金来源为用户提供的开发资金投入,故在设计开发中最大不能超过该限度,且软件完成交付用户使用后,应保证软件的运行寿命至少达到用户的要求范围.
 
且软件开发时间应基本控制在用户提出的要求范围内.
4. 可行性研究方法
实行软件的可行性研究方法主要有:成本效益分析,对估算问题的看法,软件的作用范围,软件的成本估算,速度安排等。具体将在下面叙述。
5. 决定可行性的主要因素
决定软件可行性的四个主要方面有:经济因素,技术因素,法律因素,不同方案。
三. 对现有系统的分析
1. 处理流程和数据流程
现有系统的数据处理与流程基本为学生数据的录入与查询,删除修改等操作。流程图可表示如下:
 
 
图三现有系统数据流程图
2. 工作负荷
 

由于数据量越来越大,现有的系统已明显不能适应目前的庞大数据量,系统工作负荷过大。
3. 费用支出
由于现有系统的工作负荷严重超载,在现有系统上投入的人力,设备,空间,材料,等等与其他的一系列支持性服务越来越大,导致开发费用支出巨大,严重影响系统的可用性,急需改进。
4. 人员 设备
鉴于原有系统的技术性含量比较低,故不需要多少高技术人员的操作,只是由于数据量的日益扩大,所需要的操作人员数量不断增大。这一点已不再适应目前信息化时代的步伐。
 
设备的科技含量也比较低,没有达到大量的计算机普及程度。 
5. 局限性
经过严谨的分析,可知原有的系统存在很大的局限性,比如技术的过于陈旧,人员工作负荷大,系统维护及费用支出巨大,人员与设备技术含量低等等一系列缺点,所有这些都明确了需要一个新的适应新的信息化时代的高科技的系统。所以开发这样一个系统还是很有必要的。
四. 所建议技术可行性分析
1. 对系统的简要描述
新系统在原有系统的基础上加入了新的数据库的支持,使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
2. 处理流程和数据流程
 
图四新系统的数据流程图
3. 与现有系统比较的优越性
很明显,在以上几点中已可以看出新系统的性能与功能上与现有系统的差别,首先新系统克服了原来系统的资金投入大,人员设备技术含量低,系统工作负担重等缺点。而且加入了对数据的安全性保护的功能,使原有系统在可用性与稳健性方面有了很大的进步。
4. 采用建议系统可能带来的影响
采用建议系统与现有系统的差别在上面已所过,在此从不同方面具体说一下:(1).设备;采用建议系统后,改进了原有系统的性能所以对设备要求自然更高,建议系统使用了最先进的技术使设备也必须跟着升级。(2).现有软件;由于建议系统采用了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。(3).用户;建议系统使用的新技术是完全基于原有的系统上的,故用户不必考虑新系统带来的人员培训等等。(4).经费支出;建议系统是为了改善原有系统在经费支出过高的缺点的,所以新系统一经使用在经费支出方面一定会得到很好的改善,用户在使用了新系统后只需要花一定资金购买一部分计算机与软件就能实现自动化。
5. 技术可行性评价
就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。
 

五. 所建议系统经济可行性分析
经济可行性分析中最重要的内容之一是成本--效益分析。对于一个基于计算机系统的研制项目要在经济方面评价其是否合理,成本--效益分析要估计出研制开发的花费并与收益(包括有形的可以用货币计数的及无形的利益)衡量比较。
 
图五建议系统的成本--效益分析
六. 社会因素可行性分析
该项目为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。
七. 其他可供选择的方案
由于系统过于简单,所以开发小组没有提供其他的方案,只有一种开发方案。
八. 结论意见
经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发小组的开发方案的到批准,使用部门负责人同意开发工程继续进行下去。
 
软件项目计划(Software Project Plan)
一. 引言
1. 编写目的
经过项目的可行性分析,得出项目可进一步进行下去的结论,在软件继续进一步的开发之前首先给出此软件项目计划。
2. 项目背景
项目分析单位在接到项目分析员给出的项目可行性分析报告后,在系统开发主管部门的统一下制定用于软件实质开发的软件项目计划,以使软件开发单位理解软件开发要求,进行开发。
3. 定义
“软件计划”是一份比较简短的文件,有关专门术语与缩略词省略。
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 项目概述
1. 工作内容
在可行性研究报告的建议系统可行性分析一节中已经阐述了要开发的系统的主要功能 性能等,此处略。
2. 条件与限制
开发该软件的条件比较简单,以开发单位目前的经济与技术条件已完全具备开发的条件。该系统可在用户要求的期限内完成。
3. 产品
(1).程序
 
发该软件比较简单,交付的程序为一个主程序 student.exe 使用Visual Basic 6.0开。
 
(2).文档
 

与软件一同交付的文档包括软件的说明文件 Readme.txt 和版权文档 license.
 
(3).运行环境
 
软件在windows环境下开发故其只能在Windows环境下运行,不能兼容Liunx与Unix。可在Windows各个版本(windows 9.x/windows NT/windows 2000/windows xp)上独立运行。
 
4. 服务
开发单位可向用户提供包括人员培训在内的一系列有关服务,但鉴于本系统简单,只要有一点windows操作经验的人就能使用,故可以省去培训的服务,另外开发单位还为该软件用户提供安装,保修,以及系统的免费维护等等以及其他一些运行支持。
5. 验收标准
软件的验收标准完全由用户提出的软件需求制定,能保证软件的基本符合用户的要求。
三. 实施计划
1. 任务分解
鉴于软件开发工作过于简单,所以整个开发工作可以同时一起完成。
2. 进度
对于该小系统,系统从开发开始到结束为期较短,具体进度如下图示:
 
图六软件开发进度图
3. 预算
软件资金投入较少,具体预算分配简略。
4. 关键问题
使用目前的设备与现有开发技术完全可以开发出该系统,总的来说该项目没有较大的技术难点与其他的一些风险因素。对于出现的一些小难点总都能得到解决。
四. 人员组织及分工(略)
五. 交付期限
所要开发的系统较简单,所有开发工作用户要求要在1个月内完成。
六. 专题计划要点
系统的测试计划将在后面叙述,其他的质量保证计划,人员培训计划,以及系统安装计划等等省略。
 
需求规格说明书(Requirements Specification)
一. 引言
1. 编写目的
需求分析是软件系统生存期中定义阶段的最后一个步骤。是作为整个软件开发范围的指南,是软件开发人员开发出正确的符合用户要求的软件的重点。该文档将最终交给软件具体开发人员进行具体的开发,其针对的对象是软件开发人员。
2. 项目背景(略)
3. 定义
静态数据--系统固化在内的描述系统实现功能的一部分数据。
 

动态数据--在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。
 
数据字典--数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 任务概述
1. 目标
软件需求分析阶段有以下几个目标:
 
●给出软件系统的数据流程图与数据结构,构造一个完全的系统逻辑模型。
●提出详细的功能说明,确定设计限定条件,规定性能要求。
●密切与用户的联系,使用户明确自己的任务,以便实现上述两项目标。
2. 运行环境
软件基本运行环境为Windows环境。
3. 条件与限制
由于系统较小,且在windows系统下开发,故在windows环境下基本没有什么限制。
三. 数据描述
1. 静态数据
静态数据是系统内部有关的数据结构与操作规程。
 
具体可包括:系统用户表格user_Info 学生基本信息表格student_Info 班级信息表格class_Info 课程基本信息表格course_Info 年级课程设置信息表gradecourse_Info 学生成绩信息表result_Info..........等.
2. 动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.就是学生信息.
3. 数据库描述
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.
本系统的实体有:学生实体,班级实体,课程实体.各个实体具体的描述E-R图如下:
 
图7-1学生实体E-R图
图7-1为学生实体E-R图.
 
图7-2班级实体E-R图
图7-2为班级实体E-R图。
 
图7-3课程实体E-R图
 

图7-3为课程实体E-R图。
 
图7-4年级实体E-R图
图7-4为年级实体E-R图。
 
图7-5实体之间关系E-R图
图7-5为实体之间关系E-R图。
4. 数据字典
传统的数据字典包括以下几种类型的条目:
 
(1).数据流条目--数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。
 
该系统中的数据流条目有:
 
学生基本信息=学号+学生姓名+学生性别+出生日期+班号+联系电话+入校时间+家庭住址+注释
 
班级信息=班号+年级+班主任+教室
 
课程信息=课程编号+课程名称+课程类型+课程描述
 
年级课程信息=年级+课程名称
 
学生成绩信息=考试编号+学生学号+学生姓名+学生班号+课程名称+分数
 
系统用户信息=用户名称+用户密码+用户描述
 
(2).文件条目--文件条目给出某个文件的定义,列出它的组成数据项,此外还要给出文件的组织形式。
例:学生信息文件={学生基本信息记录}+{学生成绩记录}
主键:学生学号+课程号
 
(3).数据元素条目--给出某个数据单项的定义,通常是数据项的值类型。
 
例:学生基本信息记录中“学生学号”的数据值类型为数值类型,有效值范围为000000~999999。
(4).处理说明条目--给出数据流程图中不再分解的变换处理说明的定义。
 
此处不再举例说明。 
5. 数据采集
系统数据采集是由数据库系统在软件运行期间通过人机界面来提示用户输入的。此处不加赘述。
四. 功能需求
 

由于系统较简单且前面对系统的功能已作了详细的介绍,在此就略过了。
1. 功能划分(略)
2. 功能描述(略)
五. 性能需求
的维护阶段可以保持一个与其他类软件接口1. 数据精确度
由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
2. 时间特性
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
3. 适应性
该软件是使用Visual Basic 6在windows xp系统下完成的所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。而且应用户的特殊需求软件在完成后,随时满足用户的使用要求。
六. 运行需求
1. 用户界面
系统运行时的主界面大致要求为windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面):有一个主窗体,可以包含其他窗体。建议本系统采用多文档界面,这样可以使程序更加美观,整齐有序。
2. 硬件接口
软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与磁带机和光盘刻录机的接口,这点较易实现。
3. 软件接口
在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。例如microsoft的office系列。另外用户还有用户所需要的软件接口,这些应在用户需求定义时明了。
4. 故障处理
考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的接口即可。只要操作系统没有大的故障程序一般是比较稳定的。考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能,这点在数据库软件中已经达到了,只要稍微在其上再增加用户所需要的附加功能即可。
七. 其他需求
系统保证了较好的可使用性与数据的安全保密性,但由于系统较小只保留一定程度的可移植性,可维护性。
 
概要设计说明书(Architectural Design Specification)
一. 引言
1. 编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件
 

表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
2. 项目背景(略)
3. 定义
在该概要设计说明书中的专门术语有:
 
总体设计
 
接口设计
 
数据结构设计
 
运行设计
 
出错设计
 
具体的概念与含义在文档后将会解释。
 
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 任务概述
1. 目标
该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。
2. 运行环境
软件基本运行环境为Windows环境。
3. 需求概述(略)
4. 条件与限制
为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:
 
1.软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。
2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。
3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。
4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。
三. 总体设计
1.处理流程
系统的总体处理数据流程如下图:
 
图八总体处理流程图
 

2.总体结构和模块外部设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
 
图九模块化与总体成本
3.功能分配
从程序的结构中可以看出,学生的信息输入输出功能是由学生管理系统进行的。课程的信息输入输出是由课程管理系统进行的,而班级的信息流动则是班级管理系统进行的。
四. 接口设计
由于系统的各种内外部接口是通过借助数据库开发软件来实现的,是完全在数据库内部操作的,故在此略过此内容。
1. 外部接口(略)
2. 内部接口(略)
五. 数据结构设计
1. 逻辑结构设计
student_Info 学生基本信息表 
列名 数据类型 可否为空 说明
student_ID INT(4) NOT NULL 学生学号(主键)
student_Name CHAR(10) NULL 学生姓名
student_Gender CHAR(2) NULL 学生性别
born_Date DATETIME(8) NULL 出生日期
class_No INT(4) NULL 班号
tele_Number CHAR(10) NULL 联系电话
ru_Date DATETIME(8) NULL 入校时间
address VARCHAR(50) NULL 家庭住址
comment VARCHAR(200) NULL 注释
 
 
class_Info 班级信息表格
列名 数据类型 可否为空 说明
class_No INT(4) NOT NULL 班号(主键)
grade CHAR(10) NULL 年级
Director CHAR(10) NULL 班主任
Classroom_No CHAR(10) NULL 教室
 
 
course_Info 课程基本信息表
列名 数据类型 可否为空 说明
 

course_No INT(4) NOT NULL 课程编号(主键)
course_Name CHAR(10) NULL 课程名称
course_Type CHAR(10) NULL 课程类型
course_Des CHAR(50) NULL 课程描述
 
 
gradecourse_Info 年级课程设置表
列名 数据类型 可否为空 说明
grade CHAR(10) NULL 年级
course_Name CHAR(10) NULL 课程名称
 
 
result_Info 学生成绩信息表
列名 数据类型 可否为空 说明
exam_No CHAR(10) NOT NULL 考试编号
student_ID INT(4) NOT NULL 学生学号
student_Name CHAR(10) NULL 学生姓名
class_No INT(4) NULL 学生班号
course_Name CHAR(10) NULL 课程名称
result FLOAT(8) NULL 分数
 
 
user_Info 系统用户表
列名 数据类型 可否为空 说明
user_ID CHAR(10) NOT NULL 用户名称(主键)
user_PWD CHAR(10) NULL 用户密码
user_DES CHAR(10) NULL 用户描述
 
图十数据库逻辑结构图表
2. 物理结构设计
系统的物理结构具体由数据库来设计与生成,此处略。
3. 数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。
 
具体的例如创建系统用户表格 user_Info的程序用SQL表示就是:
 
CREATE TABLE[dbo].[user_Info](
[user_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,
[user_PWD][char](10)COLLATE Chinese_PRC_CI_AS NULL,
[user_Des][char](10)COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
 
六. 运行设计
1. 运行模块的组合
 

具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
2. 运行控制
软件运行时有较友好的界面,基本能够实现用户的数据处理要求。
3. 运行时间
系统的运行时间基本可以达到用户所提出的要求。
七. 出错处理设计
1. 出错输出信息
在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,你非法使用数据,没有权限!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。
2. 出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。
八. 安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。系统安全保密性较高。
九. 维护设计
由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施即可。
 
详细设计说明书(Procedural Design Specification)
一. 引言
1. 编写目的
软件设计是把软件需求变换成为软件的具体设计方案,即模块结构的过程。软件设计一般分为总体设计和详细设计两个阶段。总体设计阶段根据软件需求分析所得到的数据流程或数据结构,使用结构化设计技术,导出软件的模块结构。详细设计阶段是给出软件模块的内部过程描述。内部过程描述是模块内部的算法设计。该文档是直接给软件开发人员看的。
2. 项目背景(略)
3. 定义
在软件具体设计阶段的专用术语有:方块图(N-S图),PAD图(问题分析图)Problem Analysis Diagram)等。
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 总体设计
1. 需求概述
这点在需求规格说明书已经指出不在详述。
2. 软件结构
在总体设计阶段产生的软件结构图如软件概要说明书中的软件数据结构设计,整个软件的结构已非常的明了了,软件系统的结构图如下图。下面就进行软件的详细设计阶段,进行逐个模块的详细设计。
 

图十一详细设计软件结构图
三. 程序描述
以下逐个模块给出说明:
1.系统用户管理模块
. 功能
系统管理模块主要实现以下功能:
 
●用户登录
●添加用户
●修改用户密码
 
输入输出:
系统启动后,将首先出现用户登录窗体,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序。
.算法
在本文档中都统一使用 PAD 图,即树形问题分析图(Problem Analysis Diagram)。系统管理模块的PAD图如下:
 
图十二系统管理模块PAD图
2.学籍管理模块
. 功能
学籍信息管理模块主要实现以下功能:
 
●添加学籍信息
●修改学籍信息
●查询学籍信息
 
.算法
学籍管理模块PAD图如下:
 
图13-1学籍管理模块PAD图(总体)图13-2添加功能子模块PAD图
 
 
图13-3修改功能子模块PAD图
 
图13-4查询功能子模块PAD图
 
3.班级信息管理模块
. 功能
班级信息管理模块主要实现以下功能:
 
●添加班级信息
●修改班级信息
 

.算法
班级信息管理模块的算法包括班级信息的添加和修改与学籍管理的添加和修改类似,实现方法和前面介绍的一样,这里不再重复。
 
4.课程设置模块
. 功能
课程设置模块主要实现以下功能:
 
●添加课程信息
●修改课程信息
●设置年级课程
 
.算法
与班级和学籍的添加与修改类似。
5.成绩管理模块
. 功能
成绩管理模块主要实现以下功能:
 
●添加成绩管理
●修改成绩管理
●查询成绩管理
 
.算法
与班级和学籍的添加与修改类似。
6.帮助模块的设计
一个良好的Windows应用程序应该提供一个About窗口,其中包括本系统的名称。所有者,联系方式,版本号,与专利信息等。
四. 测试要点
有关测试内容在软件 测试文档(Test Plan) 中详细给出。
 
用户操作手册(User Guide)
一. 引言
1. 编写目的
编写用户操作手册的目的是为了让用户更快更好得使用该软件,以及在用户使用软件时能够很快的上手,达到熟练使用的程度。是整个软件的一个说明书。
2. 项目背景(略)
3. 定义(略)
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 软件概述
本软件的主要目标是实现学校学生信息管理的自动化,主要功能是对有关学生信息的存储与查询管理。
 

三. 运行环境
基本配置:
 
服务器:
Pentium III 500MHz 以上 ,128M内存 Windows NT4.0 或同等配置。
 
 
客户机:
Pentium II 266MHz 以上 ,32M内存 Windows 95/98 或同等配置。
 
 
推荐配置:
 
 
服务器:
Pentium 4 1.2GHz ,256M 内存 Windows 2000 Advanced Server 或同等配置。
 
 
客户机:
Pentium 4 1GHz ,256M内存 Windows XP Professional 或同等配置。
 
四. 使用说明
1. 安装和初始化
本系统较小,故无需安装,可直接运行。为一款绿色软件。
2. 运行说明
.系统主窗口
系统启动后,将首先出现用户登录窗体如下,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序。
 
图十四用户登录窗体
用户输入正确的用户名和密码以后程序即进入主窗口,在主窗口里用户可以选择菜单里的系统用户管理,学籍管理,课程管理,班级管理,成绩管理等等不同的子模块进行操作。如下图:
 
图十五系统主窗口
.系统用户管理窗口
选择系统菜单里的添加用户功能,出现添加用户窗口,在该窗口中当前登录用户可以创建一个或多个有固定权限的系统用户。具体如下图:
 
图十六添加系统用户窗口
用户也可以修改当前用户的登录密码,注意:需要修改密码的用户必须已经登录。否则先退出当前系统,再用要修改密码的用户帐号重新登录系统。
 
图十七修改用户密码窗口
 

用户在进行所有操作以后可以选择退出系统来退出以防止他人使用已经登录的用户帐号,保证数据的安全性。
.学籍管理模块窗口
选择学籍管理菜单项里的添加学籍信息功能,出现添加学籍信息窗口(如图),用户可以添加新的学生学籍,但注意:学号不能和已有学号相同。
 
图十八添加学籍信息窗口
选择修改学籍信息功能可以修改所选的学生的学籍信息。如图:
 
图十九修改学籍信息窗口
用户当然也可以查询学生的学籍信息。如下图:
 
图二十查询学籍信息窗口
.班级管理模块窗口
选择班级管理菜单项里的添加班级信息功能,出现添加班级信息窗口(如图),用户可以添加新的班级,但应注意:新添班号不能和已有班号相同。
 
图二十一添加班级信息窗口
选择修改班级信息功能可以修改所选的班级信息。如图:
 
图二十二修改班级信息窗口
.课程设置模块窗口
选择课程设置菜单项里的添加课程信息功能,出现添加课程信息窗口(如图),用户可以添加新的课程,但应注意:新添课程号不能和已有课程号相同。
 
图二十三添加课程信息窗口
 
选择修改课程信息功能可以修改所选的课程信息。如下图:
 
图二十四修改课程信息窗口
另外用户可以使用设置年级课程功能来设置年级课程。如下:
 
图二十五设置年级课程窗口
.成绩管理模块窗口
选择成绩管理菜单项里的添加成绩信息功能,出现添加成绩信息窗口(如图),用户可以添加学生的成绩.
 
图二十六添加成绩信息窗口
同样可以修改学生的某个成绩。界面如图:
 
图二十七修改成绩信息窗口
查询学生的成绩信息如图:
 
图二十八查询成绩信息窗口
 

.帮助窗口
一个良好的Windows应用程序应该提供一个About窗口,其中包括本系统的名称。所有者,联系方式,版本号,与专利信息等。如下:
 
图二十九系统的About窗口
 
测试计划(Test Plan)
一、 引言
1. 编写目的
软件测试是为了发现软件的错误,该文档的读者对象是软件测试部门,以指导软件测试过程。
2. 项目背景(略)
3. 定义
静态测试:主要方法有审阅,检查。
 
单元测试,组装测试,系统测试
 
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 计划
1.测试方案
使用以界面为基础的测试。
 
以界面为基础的测试仅仅依靠软件与其运行环境之间的界面来选择和产生测试数据,而不管软件的具体需求和具体实现细节。包括软件输入,输出数据的类型取值范围以及取值的概率分布等等。
2.测试项目
该测试计划主要包括对软件各个模块的测试,有:
 
a.系统主窗口的测试;
 
b.添加用户窗口的测试;
 
c.修改用户密码窗口的测试;
 
d.添加学籍信息窗口的测试;
 
e.修改学籍信息窗口的测试;
 
f.查询学籍信息窗口的测试;
 
g.添加班级信息窗口的测试;
 
h.修改班级信息窗口的测试;
 

i.添加课程信息窗口的测试;
 
j.修改课程信息窗口的测试;
 
k.设置年级课程窗口的测试;
 
l.添加成绩信息窗口的测试;
 
m.修改成绩信息窗口的测试;
 
n.查询成绩信息窗口的测试;
 
o.以及系统信息窗口的测试。
 
3.测试机构及人员
由于软件规模较小,所以所有测试任务都由软件的开发人员完成。
三. 测试项目说明
1.用户登录窗口的测试
该测试的目的是保证登陆窗口的正确性与在错误发生时的容错与纠错性。
具体通过在登陆框中输入空用户名,和错误的用户密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
2.添加用户窗口的测试
该测试的目的是保证添加用户窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加记录框中输入重复的用户名,空用户名和密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
3.修改用户密码窗口的测试
该测试的目的是保证修改用户密码窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改用户密码框中输入错的原用户密码,以及空的新用户密码,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
4.添加学籍信息窗口的测试
该测试的目的是保证添加学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加学籍信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
5.修改学籍信息窗口的测试
该测试的目的是保证修改学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改学籍信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
 

6.查询学籍信息窗口的测试
该测试的目的是保证查询学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在查询学籍的查询方式框中输入空的学号,空的姓名,或者空的班号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.添加班级信息窗口的测试
该测试的目的是保证添加班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加班级窗口中输入空的班号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
8.修改班级信息窗口的测试
该测试的目的是保证修改班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改班级窗口中输入空的班号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
9.添加课程信息窗口的测试
该测试的目的是保证添加课程信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加课程信息窗口中输入空的课程号,已存在的课程号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
10.修改课程信息窗口的测试
该测试的目的是保证修改课程信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改课程信息窗口中输入空的课程号,已存在的课程号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
11.设置年级课程窗口的测试
该测试的目的是保证设置年级课程信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在设置年级课程信息窗口中输入空的年级,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
12.添加成绩信息窗口的测试
该测试的目的是保证添加成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加成绩信息窗口中输入空的姓名,空的考试成绩,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
13.修改成绩信息窗口的测试
该测试的目的是保证修改成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改成绩信息窗口中输入空的姓名,空的考试成绩,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
14.查询成绩信息窗口的测试
该测试的目的是保证查询成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在查询成绩信息的查询方式窗口中输入空的学号,空的班号,空的课程
 

号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
15.系统信息窗口的测试
该测试的目的是保证输出的系统版权和作者信息的正确性与完整性。
四. 评价
以上所有的模块测试过程都要求系统能在用户输入出错时给出正确的相应并不影响到数据的安全与完整性。成功的系统设计必须通过以上的要求。
 
测试分析报告(Test Specification)
一. 引言
1. 编写目的
该测试分析报告的目的主要是对上面的软件测试计划的测试项目给出具体的测试结果。是软件测试的说明书。
2. 项目背景(略)
3. 定义(略)
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 测试计划执行情况
1.用户登录窗口的测试结果
在登陆框中输入 空用户名 后系统的出错提示正确基本正确如下:
 
在登陆框中输入 错误的用户密码 出错提示正确基本正确如下:
 
2.添加用户窗口的测试结果
在添加记录框中输入 重复的用户名 出错提示正确基本正确如下:
 
在添加记录框中输入 空用户名和密码 出错提示正确基本正确如下:
 
3.修改用户密码窗口的测试
在修改用户密码框中输入 错的原用户密码 出错提示正确基本正确如下:
 
4.添加学籍信息窗口的测试
在添加学籍信息框中输入 空的学号 , 已存在的学号 和 错误的日期格式 出错提示正确基本正确
 
5.修改学籍信息窗口的测试
在修改学籍信息框中输入 空的学号 , 已存在的学号 和 错误的日期格式 出错提示正确基本正确,同上图。
6.查询学籍信息窗口的测试
在查询学籍的查询方式框中输入 空的学号 , 空的姓名 或者 空的班号 出错提示如下。
 
7.添加班级信息窗口的测试
在添加班级窗口中输入 空的班号 , 已存在的班级号 出错提示如下
 

8.修改班级信息窗口的测试
在修改班级窗口中输入 空的班号, 已存在的班级号 出错提示同上图.
9.添加课程信息窗口的测试
在添加课程信息窗口中输入 空的课程号, 已存在的课程号,出错提示如下:
 
10.修改课程信息窗口的测试
在修改课程信息中输入 空的课程号, 已存在的课程号 出错提示同上图.
11.设置年级课程窗口的测试
在设置年级课程信息窗口中输入 空的年级 出错提示如下:
 
12.添加成绩信息窗口的测试
在添加成绩信息窗口中输入 空的姓名, 空的考试成绩,出错提示如下:
 
13.修改成绩信息窗口的测试
在修改成绩信息中输入 空的姓名, 空的考试成绩 出错提示同上图.
14.查询成绩信息窗口的测试
在修改成绩信息中输入 空的姓名, 空的考试成绩 出错提示同上图.
15.系统信息窗口的测试(略)
三. 软件需求测试结论
经过软件的测试,系统基本上达到需求定义阶段用户所提出的要求。开发工作合格。
四. 评价
软件基本达到设计要求,软件功能完整,用户界面良好,错误处理正确,且能正确提示错误种类。
 
但是在测试中也发现软件的一些不足与缺陷,比如软件在用户第一次登陆时,也就是用户刚拿到软件时,必须用预先设定好的管理员账号登陆系统才能进行添加新用户的操作,等等一些缺陷,需要在软件进一步修改和维护时予以纠正。
 
总的来说,软件通过测试,可以发行。
 
 
开发进度月报(略)
项目开发总结报告
一. 引言
1. 编写目的
该总结报告主要是对整个软件开发与测试阶段的工作的总体结论,是软件提交上级部门和用户审查的最后一道程序。
2. 项目背景(略)
3. 定义(略)
4. 参考资料
<软件工程概论> 李存珠李宣东 编著 南京大学计算机系出版 2001年8月
二. 开发结果
 

1. 产品
开发最后产生的软件为 Student.exe 的可运行程序,包括 行源程序(见附录--系统开发源程序),目标程序大小为212,992 字节,还包括软件的说明文件 readme.txt 和版权信息 license.
2. 主要功能及性能
软件的主要功能为有关学生信息的保存与查询,使学校学籍和学生管理实现自动化。
3. 所用工时
该软件由我在一个星期(即168小时)内开发。
4. 所用机时
我所用机时为48小时左右。
5. 费用
由于是完全自主开发所以软件费用很小,不再计算。
三. 评价
1. 生产率评价
整体说来软件生产率比较高。
2. 技术方案评价
软件基本使用目前较先进的开发工具(Visual Basic 6.0 Enterprise与 Microsoft SQL server 2000)开发。采用的主要算法也较好,故技术方案总体评价较好。
 
软件修改报告(略)
附录:(Appendix)
该附录的内容包括:
 
整个文档的参考书目...
 
程序的全部源程序...
 
参考书目:
.1.《软件工程概论》 李宣东 李存珠 编著 南京大学计算机系出版 2001年8月.
 
.2.《软件工程:实践者的研究方法》IV RogerS.Pressman著 黄柏素 梅宏译 机械工业出版社.
 
.3.《Visual Basic 6.0 数据库系统开发实例》 刘韬 骆娟 何旭洪 著 人民邮电出版社
 
软件全部源程序:
........................................ 系统公用模块 ..............................................
 
Public fMainForm As frmMain
 

Public UserName As String
 
 
Sub Main()
Dim fLogin As New frmLogin
fLogin.Show vbModal
If Not fLogin.OK Then
'Login Failed so exit app
End
End If
Unload fLogin
 
 
Set fMainForm = New frmMain
fMainForm.Show
End Sub
 
.........................................................................................................
Public Function ConnectString() _
As String
'returns a DB ConnectString
ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD="
End Function
 
.......................................... SQL语句执行程序 ..............................................
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
 
On Error GoTo ExecuteSQL_Error
 
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
 

" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
 
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
 
.........................................................................................................
 
Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function
 
 
.................................. frmlogin窗口 ...........................................
 
Option Explicit
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
 
 
Public OK As Boolean
'记录确定次数
 

Dim miCount As Integer
Private Sub Form_Load()
Dim sBuffer As String
Dim lSize As Long
 
 
sBuffer = Space$(255)
lSize = Len(sBuffer)
Call GetUserName(sBuffer, lSize)
If lSize > 0 Then
txtUserName.Text = ""
 
Else
txtUserName.Text = vbNullString
End If
 
 
OK = False
miCount = 0
End Sub
 
 
Private Sub cmdCancel_Click()
OK = False
Me.Hide
End Sub
 
 
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String
'ToDo: create test for correct password
'check for correct password
 
UserName = ""
If Trim(txtUserName.Text = "") Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
txtSQL = "select * from user_Info where user_ID = '" & txtUserName.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
 

If mrc.EOF = True Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
OK = True
mrc.Close
Me.Hide
UserName = Trim(txtUserName.Text)
Else
MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
txtPassword.Text = ""
End If
End If
End If
 
miCount = miCount + 1
If miCount = 3 Then
Me.Hide
End If
Exit Sub
End Sub
 
 
............................................................................................
 
............................... frmMain 系统主窗口代码 .........................................
Private Sub addcinfoMenu_Click()
frmAddclassinfo.Show
End Sub
Private Sub addcourseMenu_Click()
frmAddcourseinfo.Show
End Sub
 
Private Sub addresultMenu_Click()
frmAddresult.Show
End Sub
 
Private Sub addsinfoMenu_Click()
 

frmAddsinfo.Show
End Sub
 
Private Sub adduserMenu_Click()
frmAdduser.Show
sbStatusBar.Panels(1).Text = "添加用户"
End Sub
 
Private Sub exitMenu_Click()
End
End Sub
 
Private Sub exitsinfoMenu_Click()
Unload frminquireinfo
End Sub
 
Private Sub gradecourseMenu_Click()
frmSetcourseinfo.Show
End Sub
 
Private Sub inquireresultMenu_Click()
frmInquireresult.Show
End Sub
 
Private Sub inquiresinfoMenu_Click()
frmInquiresinfo.Show
End Sub
 
Private Sub MDIForm_Load()
Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
 
End Sub
 
 
 
Private Sub MDIForm_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then
SaveSetting App.Title, "Settings", "MainLeft", Me.Left
SaveSetting App.Title, "Settings", "MainTop", Me.Top
SaveSetting App.Title, "Settings", "MainWidth", Me.Width
SaveSetting App.Title, "Settings", "MainHeight", Me.Height
 

End If
End Sub
 
Private Sub modifycinfoMenu_Click()
frmModifyclassinfo.Show
End Sub
 
Private Sub modifycourseMenu_Click()
frmModifycourseinfo.Show
End Sub
 
Private Sub modifypwdMenu_Click()
frmModifyuserinfo.Show
End Sub
 
Private Sub modifyresultMenu_Click()
frmModifyresult.Show
End Sub
 
Private Sub modifysinfo_Menu_Click()
frmModifysinfo.Show
End Sub
..........................................................................................................
 
............................... frmAdduser 添加用户窗口代码 .....................................
 
Private Sub cmdCancel_Click()
Unload Me
End Sub
 
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String
 
 
If Trim(Text1(0).Text) = "" Then
MsgBox "请输入用户名称!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Text1(0).SetFocus
Else
txtSQL = "select * from user_Info "
 

Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
If Trim(mrc.Fields(0)) = Trim(Text1(0)) Then
MsgBox "用户已经存在,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
Text1(0).SetFocus
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Exit Sub
Else
mrc.MoveNext
End If
Wend
End If
 
If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then
MsgBox "两次输入密码不一样,请确认!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Text1(2).Text = ""
Exit Sub
 
Else
If Text1(1).Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Text1(2).Text = ""
Else
mrc.AddNew
mrc.Fields(0) = Trim(Text1(0).Text)
mrc.Fields(1) = Trim(Text1(1).Text)
mrc.Update
mrc.Close
Me.Hide
MsgBox "添加用户成功!", vbOKOnly + vbExclamation, "添加用户"
End If
End If
End Sub
 
.........................................................................................................
 

............................... frmAddsinfo 添加学籍信息窗口代码 .................................
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
If Not Testtxt(txtSID.Text) Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtName.Text) Then
MsgBox "请输入姓名!", vbOKOnly + vbExclamation, "警告"
txtName.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboSex.Text) Then
MsgBox "请选择性别?quot;, vbOKOnly + vbExclamation, "警告"
comboSex.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtBorndate.Text) Then
MsgBox "请输入出生日期!", vbOKOnly + vbExclamation, "警告"
txtBorndate.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboClassNo.Text) Then
MsgBox "请选择班号!", vbOKOnly + vbExclamation, "警告"
comboClassNo.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtTel.Text) Then
MsgBox "请输入联系电话!", vbOKOnly + vbExclamation, "警告"
txtTel.SetFocus
Exit Sub
End If
 

If Not Testtxt(txtRudate.Text) Then
MsgBox "请输入入校日期!", vbOKOnly + vbExclamation, "警告"
txtRudate.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtAddress.Text) Then
MsgBox "请输入家庭住址!", vbOKOnly + vbExclamation, "警告"
txtAddress.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtSID.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtSID.SetFocus
End If
 
txtSQL = "select * from student_Info where student_ID = '" & Trim(txtSID.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "学号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrc.Close
txtSID.SetFocus
Else
mrc.Close
If Not IsDate(txtBorndate.Text) Then
MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtBorndate.SetFocus
Else
txtBorndate = Format(txtBorndate, "yyyy-mm-dd")
If Not IsDate(txtRudate.Text) Then
MsgBox "入校时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtRudate.SetFocus
Else
txtRudate = Format(txtRudate, "yyyy-mm-dd")
txtSQL = "select * from student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(txtSID.Text)
mrc.Fields(1) = Trim(txtName.Text)
 

mrc.Fields(2) = Trim(comboSex.Text)
mrc.Fields(3) = Trim(txtBorndate.Text)
mrc.Fields(4) = Trim(comboClassNo.Text)
mrc.Fields(5) = Trim(txtTel.Text)
mrc.Fields(6) = Trim(txtRudate.Text)
mrc.Fields(7) = Trim(txtAddress.Text)
mrc.Fields(8) = Trim(txtComment.Text)
mrc.Update
MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Close
Me.Hide
End If
End If
End If
 
End Sub
Private Sub Command2_Click()
 
Unload Me
End Sub
 
Private Sub Form_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim i As Integer
 
comboSex.AddItem "男"
comboSex.AddItem "女"
txtSQL = "select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
For i = 1 To mrc.RecordCount
comboClassNo.AddItem mrc.Fields(0)
mrc.MoveNext
Next i
 
mrc.Close
End Sub
.........................................................................................................
 
............................... frmAddassinfo 添加班级信息窗口代码 ..............................
 

Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim MsgText As String
Dim txtSQL As String
 
If Not Testtxt(txtClassno.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboGrade.Text) Then
MsgBox "请选择年级!", vbOKOnly + vbExclamation, "警告"
comboGrade.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtDirector.Text) Then
MsgBox "请输入班主任姓名!", vbOKOnly + vbExclamation, "警告"
txtDirector.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtClassroom.Text) Then
MsgBox "请输入教室房间号!", vbOKOnly + vbExclamation, "警告"
txtClassroom.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtClassno.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtClassno.SetFocus
End If
 
txtSQL = "select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.MoveFirst
 
While (mrc.EOF = False)
If (Trim(mrc.Fields(0)) = Trim(txtClassno.Text)) Then
MsgBox "班号已经存在,请重新输入班号!", vbOKOnly + vbExclamation, "警告"
 

Exit Sub
txtClassno.Text = ""
txtClassno.SetFocus
Else
mrc.MoveNext
End If
Wend
 
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
mrc.Close
MsgBox "添加班级信息成功!", vbOKOnly + vbExclamation, "添加班级信息"
 
End Sub
 
Private Sub Command2_Click()
Unload Me
End Sub
 
Private Sub Form_Load()
comboGrade.AddItem "初中一年级"
comboGrade.AddItem "初中二年级"
comboGrade.AddItem "初中三年级"
comboGrade.AddItem "高中一年级"
comboGrade.AddItem "高中二年级"
comboGrade.AddItem "高中三年级"
End Sub
 
 
.........................................................................................................
 
............................ frmAddcourseinfo 添加课程信息窗口代码 ...............................
 
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim MsgText As String
Dim txtSQL As String
 

If Not Testtxt(txtCourseno.Text) Then
MsgBox "请输入课程编号!", vbOKOnly + vbExclamation, "警告"
txtCourseno.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtCoursename.Text) Then
MsgBox "请输入课程名称!", vbOKOnly + vbExclamation, "警告"
txtCoursename.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboCoursetype.Text) Then
MsgBox "请选择课程类型!", vbOKOnly + vbExclamation, "警告"
comboCoursetype.SetFocus
Exit Sub
End If
 
 
If Not Testtxt(txtCoursedes.Text) Then
MsgBox "请输入课程描述信息!", vbOKOnly + vbExclamation, "警告"
txtCoursedes.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtCourseno.Text)) Then
MsgBox "请输入数字编号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtCourseno.SetFocus
End If
 
txtSQL = "select * from course_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
While (mrc.EOF = False)
If (Trim(mrc.Fields(0)) = Trim(txtCourseno.Text)) Then
MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告"
txtCourseno.Text = ""
txtCourseno.SetFocus
Exit Sub
Else
mrc.MoveNext
End If
 

Wend
 
mrc.AddNew
mrc.Fields(0) = Trim(txtCourseno.Text)
mrc.Fields(1) = Trim(txtCoursename.Text)
mrc.Fields(2) = Trim(comboCoursetype.Text)
mrc.Fields(3) = Trim(txtCoursedes.Text)
mrc.Update
mrc.Close
MsgBox "添加课程信息成功!", vbOKOnly + vbExclamation, "添加课程信息"
Unload Me
End Sub
 
Private Sub Command2_Click()
Unload Me
End Sub
 
Private Sub Form_Load()
comboCoursetype.AddItem "必修"
comboCoursetype.AddItem "考查"
 
End Sub
 
.........................................................................................................
 
 
.............................. frmAddresult 添加成绩信息窗口代码 .................................
 
Dim Flagselect As Boolean
Dim Grade As String
 
Private Sub cmdCancel_Click()
Unload Me
End Sub
 
Private Sub cmdOK_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
If Not Testtxt(comboExamtype.Text) Then
MsgBox "请输入考试编号!", vbOKOnly + vbExclamation, "警告"
 

Exit Sub
End If
 
If Not Testtxt(comboClassno.Text) Then
MsgBox "请选择班号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(comboSID.Text) Then
MsgBox "请选择学号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(comboCourse.Text) Then
MsgBox "请选择课程!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(txtResult.Text) Then
MsgBox "请输入分数!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not IsNumeric(txtResult.Text) Then
MsgBox "分数请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
txtSQL = "select * from result_Info where exam_No = '" & comboExamtype.Text & "' and student_ID = '" & comboSID.Text & "' and course_Name = '" & comboCourse.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "有相同纪录,请重新输入信息!", vbOKOnly + vbExclamation, "警告"
mrc.Close
Else
mrc.AddNew
mrc.Fields(0) = comboExamtype.Text
mrc.Fields(1) = comboSID.Text
mrc.Fields(2) = txtName.Text
mrc.Fields(3) = comboClassno.Text
mrc.Fields(4) = comboCourse.Text
mrc.Fields(5) = txtResult.Text
mrc.Update
 

mrc.Close
MsgBox "添加成绩成功!", vbOKOnly + vbExclamation, "警告"
Unload Me
End If
 
End Sub
 
Private Sub comboClassno_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
 
comboSID.Clear
comboCourse.Clear
txtSQL = "select * from student_Info where class_NO = '" & comboClassno.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
comboSID.AddItem mrc!student_ID
mrc.MoveNext
Wend
mrc.Close
 
txtSQL = "select * from class_Info where class_No = '" & comboClassno.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
Grade = mrc!Grade
mrc.Close
 
txtSQL = "select * from gradecourse_Info where grade = '" & Grade & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
comboCourse.AddItem mrc!course_Name
mrc.MoveNext
Wend
mrc.Close
 
Flagselect = True
 
End Sub
 
Private Sub comboCourseno_Change()
 

End Sub
 
Private Sub comboSID_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
txtSQL = "select * from student_Info where student_ID = '" & comboSID.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
txtName.Text = mrc!student_Name
mrc.Close
End Sub
 
Private Sub Form_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
 
Flagselect = False
txtSQL = "select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
comboClassno.AddItem mrc!class_No
mrc.MoveNext
Wend
mrc.Close
 
comboExamtype.AddItem "2000期中"
comboExamtype.AddItem "2000期末"
comboExamtype.AddItem "2001期中"
comboExamtype.AddItem "2001期末"
 
End Sub
 
 
.........................................................................................................
 
.......................... frmModifyuserinfo 修改用户信息窗口代码 ................................
Private Sub cmdCancel_Click()
Unload Me
 

End Sub
Private Sub cmdOK_Click()
Dim txtSQL, MsgText As String
Dim mrc As ADODB.Recordset
 
If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then
MsgBox "密码输入不正确!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Else
txtSQL = "select * from user_Info where user_ID = '" & UserName & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.Fields(1) = Text1(1).Text
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
Me.Hide
 
End If
 
End Sub
 
 
 
.........................................................................................................
 
............................. frmModifysinfo 修改学籍信息窗口代码 ................................
 
Dim mrc As ADODB.Recordset
Dim myBookmark As Variant
Dim mcclean As Boolean
 
Private Sub editCommand_Click()
mcclean = False
Frame2.Enabled = False
firstCommand.Enabled = False
previousCommand.Enabled = False
nextCommand.Enabled = False
lastCommand.Enabled = False
 
txtSID.Enabled = True
txtName.Enabled = True
 

comboSex.Enabled = True
txtBorndate.Enabled = True
comboClassNo.Enabled = True
txtRudate.Enabled = True
txtTel.Enabled = True
txtAddress.Enabled = True
txtComment.Enabled = True
 
myBookmark = mrc.Bookmark
End Sub
 
Private Sub cancelCommand_Click()
If Not mcclean Then
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtSID.Enabled = False
txtName.Enabled = False
comboSex.Enabled = False
txtBorndate.Enabled = False
comboClassNo.Enabled = False
txtRudate.Enabled = False
txtTel.Enabled = False
txtAddress.Enabled = False
txtComment.Enabled = False
 
mrc.Bookmark = myBookmark
Call viewData
Else
MsgBox "什么都没有修改,有什么好取消的!", vbOKOnly + vbExclamation, "警告"
End If
 
End Sub
 
Private Sub deleteCommand_Click()
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
 

mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
Else
mrc.Bookmark = myBookmark
Call viewData
End If
End Sub
 
Private Sub firstCommand_Click()
mrc.MoveFirst
Call viewData
End Sub
 
Private Sub Form_Load()
 
Dim txtSQL As String
Dim MsgText As String
 
txtSQL = "select * from student_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
mrc.MoveFirst
Call viewData
mcbookmark = mrc.Bookmark
mcclean = True
End Sub
 
Public Sub viewData()
txtSID.Text = mrc.Fields(0)
txtName.Text = mrc.Fields(1)
comboSex.Text = mrc.Fields(2)
txtBorndate.Text = Format(mrc.Fields(3), "yyyy-mm-dd")
comboClassNo.Text = mrc.Fields(4)
 

txtTel.Text = mrc.Fields(5)
txtRudate.Text = Format(mrc.Fields(6), "yyyy-mm-dd")
txtAddress.Text = mrc.Fields(7)
txtComment.Text = mrc.Fields(8)
End Sub
 
Private Sub lastCommand_Click()
mrc.MoveLast
Call viewData
End Sub
 
Private Sub nextCommand_Click()
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
End Sub
 
Private Sub previousCommand_Click()
mrc.MovePrevious
If mrc.BOF Then
mrc.MoveLast
End If
Call viewData
End Sub
 
Private Sub updateCommand_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
 
If mcclean Then
MsgBox "请先修改学籍信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(txtSID.Text) Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtName.Text) Then
 

MsgBox "请输入姓名!", vbOKOnly + vbExclamation, "警告"
txtName.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboSex.Text) Then
MsgBox "请选择性别!", vbOKOnly + vbExclamation, "警告"
comboSex.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtBorndate.Text) Then
MsgBox "请输入出生日期!", vbOKOnly + vbExclamation, "警告"
txtBorndate.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboClassNo.Text) Then
MsgBox "请选择班号!", vbOKOnly + vbExclamation, "警告"
comboClassNo.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtTel.Text) Then
MsgBox "请输入联系电话!", vbOKOnly + vbExclamation, "警告"
txtTel.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtRudate.Text) Then
MsgBox "请输入入校日期!", vbOKOnly + vbExclamation, "警告"
txtRudate.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtAddress.Text) Then
MsgBox "请输入家庭住址!", vbOKOnly + vbExclamation, "警告"
txtAddress.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtSID.Text)) Then
MsgBox "学号请输入数字!", vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
 

Exit Sub
 
End If
 
mrc.Delete
txtSQL = "select * from student_Info where student_ID = '" & Trim(txtSID.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "学号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtSID.SetFocus
Else
mrcc.Close
If Not IsDate(txtBorndate.Text) Then
MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtBorndate.SetFocus
Else
txtBorndate = Format(txtBorndate, "yyyy-mm-dd")
If Not IsDate(txtRudate.Text) Then
MsgBox "入校时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtRudate.SetFocus
Else
txtRudate = Format(txtRudate, "yyyy-mm-dd")
 
mrc.AddNew
mrc.Fields(0) = Trim(txtSID.Text)
mrc.Fields(1) = Trim(txtName.Text)
mrc.Fields(2) = Trim(comboSex.Text)
mrc.Fields(3) = Trim(txtBorndate.Text)
mrc.Fields(4) = Trim(comboClassNo.Text)
mrc.Fields(5) = Trim(txtTel.Text)
mrc.Fields(6) = Trim(txtRudate.Text)
mrc.Fields(7) = Trim(txtAddress.Text)
mrc.Fields(8) = Trim(txtComment.Text)
mrc.Update
MsgBox "修改学籍信息成功!", vbOKOnly + vbExclamation, "修改学籍信息"
 
mrc.Bookmark = myBookmark
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
 

previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtSID.Enabled = False
txtName.Enabled = False
comboSex.Enabled = False
txtBorndate.Enabled = False
comboClassNo.Enabled = False
txtRudate.Enabled = False
txtTel.Enabled = False
txtAddress.Enabled = False
txtComment.Enabled = False
 
mcclean = True
 
End If
End If
End If
 
End Sub
 
 
 
.........................................................................................................
 
 
.......................... frmModifyclassinfo 修改班级信息窗口代码 ...............................
 
Dim mrc As ADODB.Recordset
Dim myBookmark As Variant
Dim mcclean As Boolean
 
Private Sub cancelCommand_Click()
If Not mcclean Then
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtClassno.Enabled = False
 

comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
 
mrc.Bookmark = myBookmark
Call viewData
Else
MsgBox "什么都没有修改,有什么好取消的!", vbOKOnly + vbExclamation, "警告"
End If
End Sub
 
Private Sub deleteCommand_Click()
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
Else
mrc.Bookmark = myBookmark
Call viewData
End If
End Sub
 
Private Sub editCommand_Click()
mcclean = False
Frame2.Enabled = False
firstCommand.Enabled = False
previousCommand.Enabled = False
nextCommand.Enabled = False
lastCommand.Enabled = False
 

txtClassno.Enabled = True
comboGrade.Enabled = True
txtDirector.Enabled = True
txtClassroom.Enabled = True
 
comboGrade.AddItem "初中一年级"
comboGrade.AddItem "初中二年级"
comboGrade.AddItem "初中三年级"
comboGrade.AddItem "高中一年级"
comboGrade.AddItem "高中二年级"
comboGrade.AddItem "高中三年级"
 
myBookmark = mrc.Bookmark
End Sub
 
Private Sub firstCommand_Click()
mrc.MoveFirst
Call viewData
End Sub
 
Private Sub Form_Load()
Dim txtSQL As String
Dim MsgText As String
 
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
 
txtSQL = "select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean = True
 
End Sub
 
Public Sub viewData()
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
 

End Sub
 
Private Sub lastCommand_Click()
mrc.MoveLast
Call viewData
End Sub
 
Private Sub nextCommand_Click()
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
End Sub
 
Private Sub previousCommand_Click()
mrc.MovePrevious
If mrc.BOF Then
mrc.MoveLast
End If
Call viewData
End Sub
 
Private Sub updateCommand_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
 
If mcclean Then
MsgBox "请先修改班级信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(txtClassno.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtClassno.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtClassno.SetFocus
 

End If
 
 
If Not Testtxt(comboGrade.Text) Then
MsgBox "请选择年级!", vbOKOnly + vbExclamation, "警告"
comboGrade.SetFocus
 
Exit Sub
End If
 
If Not Testtxt(txtDirector.Text) Then
MsgBox "请输入班主任姓名!", vbOKOnly + vbExclamation, "警告"
txtDirector.SetFocus
Exit Sub
End If
 
 
If Not Testtxt(txtClassroom.Text) Then
MsgBox "请输入教室号码!", vbOKOnly + vbExclamation, "警告"
txtClassroom.SetFocus
Exit Sub
End If
 
mrc.Delete
txtSQL = "select * from class_Info where class_No = '" & Trim(txtClassno.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "班号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtClassno.SetFocus
Else
mrcc.Close
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "修改班级信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Bookmark = myBookmark
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
 

previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
 
mcclean = True
End If
End Sub
 
 
.........................................................................................................
 
......................... frmModifycourseinfo 修改课程信息窗口代码 ...............................
 
Dim mrc As ADODB.Recordset
Dim myBookmark As Variant
Dim mcclean As Boolean
 
 
Private Sub cancelCommand_Click()
If Not mcclean Then
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtCourseno.Enabled = False
txtCoursename.Enabled = False
comboCoursetype.Enabled = False
txtCoursedes.Enabled = False
 
mrc.Bookmark = myBookmark
Call viewData
Else
MsgBox "什么都没有修改,有什么好取消的!", vbOKOnly + vbExclamation, "警告"
End If
 

End Sub
 
Private Sub deleteCommand_Click()
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
Else
mrc.Bookmark = myBookmark
Call viewData
End If
End Sub
 
Private Sub editCommand_Click()
mcclean = False
Frame2.Enabled = False
firstCommand.Enabled = False
previousCommand.Enabled = False
nextCommand.Enabled = False
lastCommand.Enabled = False
 
txtCourseno.Enabled = True
txtCoursename.Enabled = True
comboCoursetype.Enabled = True
txtCoursedes.Enabled = True
 
comboCoursetype.AddItem "必修"
comboCoursetype.AddItem "考查"
 

myBookmark = mrc.Bookmark
End Sub
 
Private Sub firstCommand_Click()
mrc.MoveFirst
Call viewData
End Sub
 
Private Sub Form_Load()
Dim txtSQL As String
Dim MsgText As String
 
txtCourseno.Enabled = False
txtCoursename.Enabled = False
comboCoursetype.Enabled = False
txtCoursedes.Enabled = False
 
txtSQL = "select * from course_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean = True
End Sub
 
Public Sub viewData()
txtCourseno.Text = mrc.Fields(0)
txtCoursename.Text = mrc.Fields(1)
comboCoursetype.Text = mrc.Fields(2)
txtCoursedes.Text = mrc.Fields(3)
 
End Sub
 
Private Sub lastCommand_Click()
mrc.MoveLast
Call viewData
End Sub
 
Private Sub nextCommand_Click()
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
 

End Sub
 
Private Sub previousCommand_Click()
mrc.MovePrevious
If mrc.BOF Then
mrc.MoveLast
End If
Call viewData
End Sub
 
Private Sub updateCommand_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
 
If mcclean Then
MsgBox "请先修改课程信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(txtCourseno.Text) Then
MsgBox "请输入课程编号!", vbOKOnly + vbExclamation, "警告"
txtCourseno.SetFocus
Exit Sub
End If
 
If Not IsNumeric(Trim(txtCourseno.Text)) Then
MsgBox "课程编号请输入数字!", vbOKOnly + vbExclamation, "警告"
txtCourseno.SetFocus
Exit Sub
End If
 
If Not Testtxt(txtCoursename.Text) Then
MsgBox "请输入课程名称!", vbOKOnly + vbExclamation, "警告"
txtCoursename.SetFocus
Exit Sub
End If
 
If Not Testtxt(comboCoursetype.Text) Then
MsgBox "请选择课程类型!", vbOKOnly + vbExclamation, "警告"
comboCoursetype.SetFocus
Exit Sub
End If
 

If Not Testtxt(txtCoursedes.Text) Then
MsgBox "请输入课程描述信息!", vbOKOnly + vbExclamation, "警告"
txtCoursedes.SetFocus
Exit Sub
End If
 
mrc.Delete
txtSQL = "select * from course_Info where course_No = '" & Trim(txtCourseno.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "课程编号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtCourseno.SetFocus
Else
mrcc.Close
mrc.AddNew
mrc.Fields(0) = Trim(txtCourseno.Text)
mrc.Fields(1) = Trim(txtCoursename.Text)
mrc.Fields(2) = Trim(comboCoursetype.Text)
mrc.Fields(3) = Trim(txtCoursedes.Text)
mrc.Update
MsgBox "修改课程信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Bookmark = myBookmark
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
 
txtCourseno.Enabled = False
txtCoursename.Enabled = False
comboCoursetype.Enabled = False
txtCoursedes.Enabled = False
 
mcclean = True
End If
End Sub
.........................................................................................................
 
........................... frmModifyresult 修改成绩信息窗口代码 .................................
 

Dim mrc As ADODB.Recordset
Dim myBookmark As Variant
 
Private Sub cancelCommand_Click()
mrc.Bookmark = myBookmark
Call viewData
 
firstCommand.Enabled = True
lastCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
 
updateCommand.Enabled = False
cancelCommand.Enabled = False
 
comboExamtype.Enabled = False
comboClassno.Enabled = False
comboSID.Enabled = False
comboCourse.Enabled = False
txtName.Enabled = False
txtResult.Enabled = False
 
End Sub
 
Private Sub comboSID_Click()
Dim mrcc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
txtSQL = "select * from student_Info where student_ID = '" & comboSID.Text & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
txtName.Text = mrcc!student_Name
mrcc.Close
 
End Sub
 
 
Private Sub deleteCommand_Click()
Dim MsgText As String
 
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
 

If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Close
 
txtSQL = "select * from result_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.MoveLast
Call viewData
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Close
 
txtSQL = "select * from result_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.MoveLast
Call viewData
End If
Else
mrc.Bookmark = myBookmark
Call viewData
End If
End Sub
 
Private Sub editCommand_Click()
Dim mrcc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
firstCommand.Enabled = False
lastCommand.Enabled = False
previousCommand.Enabled = False
nextCommand.Enabled = False
 
updateCommand.Enabled = True
cancelCommand.Enabled = True
 
comboExamtype.Enabled = True
 

comboClassno.Enabled = True
comboSID.Enabled = True
comboCourse.Enabled = True
txtName.Enabled = True
txtResult.Enabled = True
 
comboExamtype.AddItem "2000期中"
comboExamtype.AddItem "2000期末"
comboExamtype.AddItem "2001期中"
comboExamtype.AddItem "2001期末"
 
txtSQL = "select * from class_Info "
Set mrcc = ExecuteSQL(txtSQL, MsgText)
While (mrcc.EOF = False)
comboClassno.AddItem mrcc!class_No
mrcc.MoveNext
Wend
mrcc.Close
myBookmark = mrc.Bookmark
 
End Sub
 
Private Sub firstCommand_Click()
mrc.MoveFirst
Call viewData
End Sub
 
Private Sub Form_Load()
Dim txtSQL As String
Dim MsgText As String
 
comboExamtype.Enabled = False
comboClassno.Enabled = False
comboSID.Enabled = False
comboCourse.Enabled = False
txtName.Enabled = False
txtResult.Enabled = False
updateCommand.Enabled = False
cancelCommand.Enabled = False
 
 
txtSQL = "select * from result_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 

If mrc.EOF = False Then
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
Else
MsgBox "没有纪录?quot;, vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
End Sub
 
Public Sub viewData()
comboExamtype.Text = mrc!exam_No
comboClassno.Text = mrc!class_No
comboSID.Text = mrc!student_ID
comboCourse.Text = mrc!course_Name
txtName.Text = mrc!student_Name
txtResult.Text = mrc!result
End Sub
 
Private Sub lastCommand_Click()
mrc.MoveLast
Call viewData
End Sub
 
Private Sub nextCommand_Click()
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
End Sub
 
Private Sub previousCommand_Click()
mrc.MovePrevious
If mrc.BOF Then
mrc.MoveLast
End If
Call viewData
End Sub
 
Private Sub updateCommand_Click()
Dim MsgText As String
 

If Not Testtxt(comboExamtype.Text) Then
MsgBox "请输入考试编号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(comboClassno.Text) Then
MsgBox "请选择班号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(comboSID.Text) Then
MsgBox "请选择学号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(comboCourse.Text) Then
MsgBox "请选择课程!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(txtResult.Text) Then
MsgBox "请输入分数!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not IsNumeric(txtResult.Text) Then
MsgBox "分数请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
 
mrc.Fields(0) = comboExamtype.Text
mrc.Fields(1) = comboSID.Text
mrc.Fields(2) = txtName.Text
mrc.Fields(3) = comboClassno.Text
mrc.Fields(4) = comboCourse.Text
mrc.Fields(5) = txtResult.Text
mrc.Update
mrc.Close
 
MsgBox "修改成绩成功!", vbOKOnly + vbExclamation, "警告"
comboExamtype.Clear
comboClassno.Clear
comboSID.Clear
 

comboCourse.Clear
 
txtSQL = "select * from result_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
mrc.MoveLast
Call viewData
 
firstCommand.Enabled = True
lastCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
 
updateCommand.Enabled = False
cancelCommand.Enabled = False
 
comboExamtype.Enabled = False
comboClassno.Enabled = False
comboSID.Enabled = False
comboCourse.Enabled = False
txtName.Enabled = False
txtResult.Enabled = False
 
End Sub
 
Private Sub comboClassno_Click()
Dim mrcc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
txtSQL = "select * from student_Info where class_NO = '" & comboClassno.Text & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
While (mrcc.EOF = False)
comboSID.AddItem mrcc!student_ID
mrcc.MoveNext
Wend
mrcc.Close
 
txtSQL = "select * from class_Info where class_No = '" & comboClassno.Text & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
Grade = mrcc!Grade
mrcc.Close
 

txtSQL = "select * from gradecourse_Info where grade = '" & Grade & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
While (mrcc.EOF = False)
comboCourse.AddItem mrcc!course_Name
mrcc.MoveNext
Wend
mrcc.Close
 
End Sub
.........................................................................................................
 
.......................... frmSetcourseinfo 设置年级课程窗口代码 .................................
 
Option Explicit
Dim flagSet As Boolean
Dim flagGrade As Boolean
 
Private Sub cmdAdd_Click()
If listAllcourse.ListIndex <> -1 Then
listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)
 
End If
 
End Sub
 
Private Sub cmdDelete_Click()
If listSelectcourse.ListIndex <> -1 Then
listSelectcourse.RemoveItem listSelectcourse.ListIndex
End If
End Sub
 
Private Sub cmdExit_Click()
Unload Me
End Sub
 
Private Sub cmdModify_Click()
Dim i As Integer
Dim mrc As ADODB.Recordset
Dim mrcc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 

Dim myBookmark As Variant
 
If Not Testtxt(comboGrade.Text) Then
MsgBox "请先选择年级!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
If Not Testtxt(listSelectcourse.List(0)) Then
MsgBox "请选择课程!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
txtSQL = "select * from gradecourse_Info where grade = '" & Trim(comboGrade.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
For i = 1 To listSelectcourse.ListCount
mrc.AddNew
mrc.Fields(0) = comboGrade.Text
mrc.Fields(1) = listSelectcourse.List(i - 1)
mrc.Update
Next i
mrc.Close
MsgBox "课程设置成功!", vbOKOnly + vbExclamation, "警告"
 
Else
mrc.Close
txtSQL = "delete from gradecourse_Info where grade = '" & Trim(comboGrade.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
 
 
txtSQL = "select * from gradecourse_Info "
Set mrcc = ExecuteSQL(txtSQL, MsgText)
For i = 1 To listSelectcourse.ListCount
mrcc.AddNew
mrcc.Fields(0) = comboGrade.Text
mrcc.Fields(1) = listSelectcourse.List(i - 1)
mrcc.Update
Next i
mrcc.Close
MsgBox "课程设置成功!", vbOKOnly + vbExclamation, "警告"
End If
 

End Sub
 
Private Sub cmdSet_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
 
listAllcourse.Enabled = True
listSelectcourse.Enabled = True
cmdModify.Enabled = True
 
txtSQL = "select * from course_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
listAllcourse.AddItem mrc.Fields(1)
mrc.MoveNext
Wend
mrc.Close
flagSet = True
End Sub
 
Private Sub comboGrade_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim i As Integer
 
listSelectcourse.Clear
txtSQL = "select * from gradecourse_Info where grade = '" & comboGrade.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
For i = 1 To mrc.RecordCount
listSelectcourse.AddItem mrc.Fields(1)
mrc.MoveNext
Next i
End If
mrc.Close
End Sub
 
Private Sub Form_Load()
flagSet = False
flagGrade = False
listAllcourse.Enabled = False
 

listSelectcourse.Enabled = False
cmdModify.Enabled = False
comboGrade.AddItem "初中一年级"
comboGrade.AddItem "初中二年级"
comboGrade.AddItem "初中三年级"
comboGrade.AddItem "高中一年级"
comboGrade.AddItem "高中二年级"
comboGrade.AddItem "高中三年级"
End Sub
 
 
Private Sub listAllcourse_Click()
If listAllcourse.ListIndex <> -1 Then
listSelectcourse.ListIndex = -1
End If
End Sub
 
Private Sub listSelectcourse_Click()
If listSelectcourse.ListIndex <> -1 Then
listAllcourse.ListIndex = -1
End If
End Sub
.........................................................................................................
 
........................... frmInquiresinfo 查询学籍信息窗口代码 .................................
 
Private Sub cmdExit_Click()
Unload Me
End Sub
 
Private Sub cmdInquire_Click()
Dim txtSQL As String
Dim MsgText As String
Dim dd(4) As Boolean
Dim mrc As ADODB.Recordset
 
txtSQL = "select * from student_Info where "
If Check1(0).Value Then
If Trim(txtSID.Text) = "" Then
sMeg = "学号不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
 

Exit Sub
Else
If Not IsNumeric(Trim(txtSID.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtSID.SetFocus
End If
dd(0) = True
txtSQL = txtSQL & "student_ID = '" & Trim(txtSID.Text) & "'"
End If
End If
 
If Check1(1).Value Then
If Trim(txtName.Text) = "" Then
sMeg = "姓名不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtName.SetFocus
Exit Sub
Else
dd(1) = True
If dd(0) Then
txtSQL = txtSQL & "and student_Name = '" & txtName.Text & "'"
Else
txtSQL = txtSQL & "student_Name = '" & txtName.Text & "'"
End If
End If
End If
 
If Check1(2).Value Then
If Trim(txtClassno.Text) = "" Then
sMeg = "班号不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
Else
dd(2) = True
If dd(0) Or dd(1) Then
txtSQL = txtSQL & "and class_No = '" & txtClassno.Text & "'"
Else
txtSQL = txtSQL & "class_No = '" & txtClassno.Text & "'"
End If
End If
End If
 

If Not (dd(0) Or dd(1) Or dd(2) Or dd(3)) Then
MsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
txtSQL = txtSQL & " order by student_ID "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
With myflexgrid
.Rows = 2
.CellAlignment = 4
.TextMatrix(1, 0) = "学号"
.TextMatrix(1, 1) = "姓名"
.TextMatrix(1, 2) = "性别"
.TextMatrix(1, 3) = "出生日期"
.TextMatrix(1, 4) = "班号"
.TextMatrix(1, 5) = "联系电话"
.TextMatrix(1, 6) = "入校日期"
.TextMatrix(1, 7) = "家庭住址"
 
Do While Not mrc.EOF
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) = mrc.Fields(0)
.TextMatrix(.Rows - 1, 1) = mrc.Fields(1)
.TextMatrix(.Rows - 1, 2) = mrc.Fields(2)
.TextMatrix(.Rows - 1, 3) = Format(mrc.Fields(3), "yyyy-mm-dd")
.TextMatrix(.Rows - 1, 4) = mrc.Fields(4)
.TextMatrix(.Rows - 1, 5) = mrc.Fields(5)
.TextMatrix(.Rows - 1, 6) = Format(mrc.Fields(6), "yyyy-mm-dd")
.TextMatrix(.Rows - 1, 7) = mrc.Fields(7)
mrc.MoveNext
Loop
 
End With
 
mrc.Close
 
End Sub
 
Private Sub Form_Load()
With myflexgrid
.CellAlignment = 4
.TextMatrix(1, 0) = "学号"
 

.TextMatrix(1, 1) = "姓名"
.TextMatrix(1, 2) = "性别"
.TextMatrix(1, 3) = "出生日期"
.TextMatrix(1, 4) = "班号"
.TextMatrix(1, 5) = "联系电话"
.TextMatrix(1, 6) = "入校日期"
.TextMatrix(1, 7) = "家庭住址"
End With
End Sub
.........................................................................................................
 
.......................... frmInquireresult 查询成绩信息窗口代码 .................................
 
Private Sub cmdExit_Click()
Unload Me
 
End Sub
 
Private Sub cmdInquire_Click()
Dim txtSQL As String
Dim MsgText As String
Dim dd(4) As Boolean
Dim mrc As ADODB.Recordset
 
 
txtSQL = "select * from result_Info where "
If Check1(0).Value Then
If Trim(txtSID.Text) = "" Then
sMeg = "学号不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
Exit Sub
Else
If Not IsNumeric(Trim(txtSID.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtSID.SetFocus
End If
dd(0) = True
txtSQL = txtSQL & "student_ID = '" & Trim(txtSID.Text) & "'"
End If
End If
 

If Check1(1).Value Then
If Trim(txtName.Text) = "" Then
sMeg = "姓名不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtName.SetFocus
Exit Sub
Else
dd(1) = True
If dd(0) Then
txtSQL = txtSQL & "and student_Name = '" & txtName.Text & "'"
Else
txtSQL = txtSQL & "student_Name = '" & txtName.Text & "'"
End If
End If
End If
 
If Check1(2).Value Then
If Trim(txtCourse.Text) = "" Then
sMeg = "课程不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtCourse.SetFocus
Exit Sub
Else
dd(2) = True
If dd(0) Or dd(1) Then
txtSQL = txtSQL & "and course_Name = '" & txtCourse.Text & "'"
Else
txtSQL = txtSQL & "course_Name = '" & txtCourse.Text & "'"
End If
End If
End If
 
If Not (dd(0) Or dd(1) Or dd(2) Or dd(3)) Then
MsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
 
txtSQL = txtSQL & " order by student_ID "
Set mrc = ExecuteSQL(txtSQL, MsgText)
 
With myflexgrid
.Rows = 2
.CellAlignment = 4
 

.TextMatrix(1, 0) = "考试编号"
.TextMatrix(1, 1) = "学号"
.TextMatrix(1, 2) = "姓名"
.TextMatrix(1, 3) = "班号"
.TextMatrix(1, 4) = "课程名称"
.TextMatrix(1, 5) = "分数"
 
 
Do While Not mrc.EOF
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) = mrc.Fields(0)
.TextMatrix(.Rows - 1, 1) = mrc.Fields(1)
.TextMatrix(.Rows - 1, 2) = mrc.Fields(2)
.TextMatrix(.Rows - 1, 3) = mrc.Fields(3)
.TextMatrix(.Rows - 1, 4) = mrc.Fields(4)
.TextMatrix(.Rows - 1, 5) = mrc.Fields(5)
mrc.MoveNext
Loop
 
End With
 
mrc.Close
End Sub
 
Private Sub Form_Load()
With myflexgrid
.CellAlignment = 4
.TextMatrix(1, 0) = "考试编号"
.TextMatrix(1, 1) = "学号"
.TextMatrix(1, 2) = "姓名"
.TextMatrix(1, 3) = "班号"
.TextMatrix(1, 4) = "课程名称"
.TextMatrix(1, 5) = "分数"
 
End With
End Sub
........................................................................................................
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 1280 x 720 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师