1、学籍管理系统目录内容提要引言第一章 概 述 1.1 开发学籍管理系统的意义1.2 已有系统的存在的问题1.3 可行性研究1.4 FoxPro数据库简介第二章 系统分析设计2.1学校结构组织结构图2.2学校工作的业务流程图2.3 新系统的设计目标和设计思想23 开发和运行环境选择25 系统功能分析26 系统功能模块设计第三章 数据库分析和设计31 数据库需求分析32 数据库概念结构设计 33 数据库逻辑结构设计第四章 学籍系统的实现 41系统功能表单的实现42 学生信息查询表单的实现43 学生成绩编辑表单的实现44:成绩查询表单的实现45:成绩统计表单的实现46:评语管理表单的实现47:评语查询
2、表单的实现48:系统菜单的实现总结致谢(参考文献)附录内容摘要计算机辅助学籍管理系统是采用VISAUL FOXPRO开发的一个数据库管理系统。本设计说明书主要讲述了VISAUL FOXPRO的基本功能及设计方法。紧接着以本系统为例,逐一介绍开发本系统系统的步骤:系统分析、系统设计、系统实现、系统维护。在系统分析中先后用数据流图、数据字典、系统的功能结构图分析了系统所需的各种数据。在系统的设计中,详细的展现了系统的各个功能模块。所需的数据库表及表字段。菜单的设计等。在系统的实现中,给出了实现表单中相应的功能控件的事件及代码。以及菜单实现的方法。文章的最后则给出了本系统的主要功能源代码。本系统具有
3、数据输入,数据存储,档案查询,报表打印等功能,系统的人机对话界面友好。系统功能全面,用户操作方便是本设计的一个特色。关键字:面向对象 学籍 学籍管理 VISAUL FOXPRO 引言计算机已经要成为我们学习和工作的得力助手。今天,计算机的价格已经十分低廉,性能却有了长足的进步,它以及被应用于许多的领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多的复杂的劳动。其次,计算机可以大大的提高人们的工作效率。第三,计算机可以节省许多资源。第四,计算机可以使敏感文档更加安全现有我国的中小学校中档案的管理水平不高,还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,
4、因为它浪费了许多的人力和物力。在在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为跨世纪的一代教师,希望在这方面有所贡献。改革的总设计师邓小平同志说过:科学技术是第一生产力。我希望能用所学的知识编制一个适用的程序来帮助中小学进行更有效的学籍管理。 第一章 概述1.1 开发学籍管理系统的意义:21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公
5、室带来了极大的方便。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。计算机对信息的管理有着手工管理无法比拟的优势,这些优势对于信息的条数不多,信息的变化慢,对信息的需求不频繁的单位还不明显,但是对于我现在就读的某某大学,却是显然的。某某高中目前在校学生达到2000人以上,学校对学生的原来的学籍管理管理软件已经不能适应新的办学规模和对现代办学效率的需要。我作为一个计算机应用的大学生,希望能有所贡献。用我四年的所学编制了一个实用的程序来帮助我的
6、母校某某高中进行更有效的学籍档案管理或者作为以后开发的参考。1.2已有系统的存在的问题:我的母校某某高中,在20世纪90年代一直沿用原来的人工管理学生学籍的方法,管理的效率低而且容易出错,打印报表时对以前的学校学籍档案的资料利用率低。到了90年末期,学校引进了一套学籍管理软件,以前的管理软件开发平台是FOXBASE,操作界面不友好,操作不方便。当历史的车轮驶到21世纪时,我们发现我们的学籍管理的教师面对的还是一套类似于DOS的操作界面,要想操作这套软件必须经过培训。这种不容易上手的软件已经不属于21世纪。所以学校为了适应现代办学效率的需要,迫切需要一套新的系统来取代原来的软件。新系统准备用面向
7、对象的编程工具VISUAL FOXPRO6.0作为开发平台。开发思想准备在继承旧系统的优点,克服旧系统的确定,开发一个适合并校后,界面友好的,操作简便的学籍管理系统。1.3可行性研究:1.3.1目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。1.3.2经济上可行性:现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等
8、。所以,本系统在经济上是可行的。1.3.3 技术上可行性:为本系统的开发我特对某某高中学校进行了深入的调查研究。学校从事学籍管理的人员都是从事该工作多年的教师。他们对使用计算机软件有丰富的使用和管理经验。而且学校为他们提供了多台配备良好的电脑。本系统开发后使用的用户主要是学校教务处的教师。暂时不提供更多的用户来共享数据,所以开发的系统暂时定位单机版本。后台数据库我选择Microsoft FOXPRO6.0作为本系统的数据库,前台开发工具采用Microsoft FOXPRO6.0。 使用Microsoft FOXPRO6.0作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句
9、、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。新系统开发之前,我详细的对并校前的系统开发人员和系统操作人员,以及新学校的教务管理人员进行调研,听取他们对系统的技术要求和实际操作要求。特别是认真对已有系统的研究和相关的开发人员交换了看法。征求他们的新系统的提出意见。综上所述,本系统的设计与开发在技术上和硬件设备上的条件以及计算机软件的使用上条件是成熟,技术上都是满足的,因此,它在技术上是可行的。1.3.4 运行上可行性:本系统为一个中小型的学生信息管理系统,所耗费的资源非常的小
10、,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。14、FoxPro数据库简介 FoxPro数据库的发展1989年下半年,Fox公司正式推出FoxPro 1.0,它首次引入了基于DOS环境的窗口技术,它支持鼠标,操作方便,是一个与dBASE、FoxBASE完全兼容的编译型集成环境式的数据库系统。1991年推出FoxPro 2.0版。由于使用了Rushmore查询优化技术、先进的关系查询与报表技术以及整套第4代语言工具,因此FoxPro 2.0在性能上得到大幅度地提高。它面向对象与事件,其扩充版充分使用了已有的扩展内存,是一个真正的32位产品。它除了支持FoxPro先前
11、版本的全部功能外,还增加了100多条全新的命令与函数,从而使得FoxPro的程序设计语言逐步成为xBASE语言的标准。在与dBASE IV、Paradox、Clipper等同时期其他同类产品一起参加的基准测试中,FoxPro以百倍快的速度大大超越其他竞争对手。因此该公司常用的广告语为“Nothing Runs Like Fox”。 Visual FoxPro系列数据库1992年微软公司收购了Fox公司,将FoxPro纳入自己的产品中。它利用自身的技术优势和巨大的资源,在不长的时间里开发出FoxPro 2.5以及FoxPro 2.6等大约20个软件产品及其相关产品(包括DOS、Windows、M
12、ac和UNIX等4个平台下的产品)。1995年6月,微软公司推出了Visual FoxPro 3.0版,接着又很快推出了Visual FoxPro 5.0及其中文版。1998年发布了可视化编程语言集成包Visual Studio 6.0。 Visual FoxPro 6.0的特点与其他数据库管理系统相比,Visual FoxPro 6.0具有用户的普遍性、功能的完整性、工具的易用性和规模的可伸缩性等特点。1. 用户的普遍性勿庸置疑,Visual FoxPro 6.0作为数据库工具拥有众多的开发者。由于它与传统的xBASE数据库兼容,因此了解和使用它的传统用户数量庞大。它安装容易,运行环境要求不
13、高,入门和学习方便,最易于用户接受。2. 功能的完整性经过几个版本的升级,Visual FoxPro 6.0比传统的xBASE数据库有了质的飞跃。在数据管理方面,它基本具备了大型SQL数据库的特征(如视图、关键字、关系、触发器、存储过程等);在数据库设计方面,它提供了各种数据库组件的设计向导和图形化、智能化的设计过程。其独特的优点是提供了各种数据库用户界面的可视化设计工具,提供了自含的编程语言和调试工具,提供了查询数据库的默认表格工具等。总而言之,Visual FoxPro 6.0尽量使得用户不依靠任何其他软件工具就能完成一个较复杂数据库应用系统的全部开发工作。3. 工具的易用性Visual
14、FoxPro 6.0的各种工具之所以容易使用,是因为它以方便和规范开发者的工作为目标,充分考虑了数据库应用软件的特点。窗口化、图形化、智能化、模板化、向导化、参数化和通用化是Visual FoxPro 6.0工具的共同特征。第二章系统分析和设计在可行性研究阶段经过调研已经准备了大量的第一手材料,对系统的需求已经有了一个大体了解和规划,然而这些规划还只是局限于一种对系统的感性认识,对系统的要求还不完整,不准确,不清晰,不具体。需求分行阶段就是以可行性阶段准备的大量的文档作为需求分行阶段的出发点,整理出的组织结构图和业务流程图。以此为依据设计和规划新系统的逻辑方案。2.1学校结构组织结构图通过调研
15、,获知学校结构设置如下:某某高中后勤组年级组教务处 三年级组二年级组一年级组 图2-1学校组织结构图学校分为教务处,年级组,后勤组等,年级组分为一年级组,二年级组,三年级组。以年级组为单位,对各个年级进行管理,学生的学籍由年级组长上报到教导处,由教务员进行数据维护和管理。对学生的所有学籍信息的管理包括录入,查询,统计,报表打印。根据需要再提交给学校。2.2学校工作的业务流程图学校工作总体规划由教务人员在学生学籍信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信
16、息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。学生教务主任任课教师学生信息班级课程任课学生成绩教务员学生信息录入班级课程任课录入成绩录入修改相关信息存储学籍相关信息学校相关领导和教师 图2-2业务流程图系统流程图的图形符号说明:系统中人员系统外实体单据、报表、帐目处理数据流向存储为了便于对学生成绩的管理,每学期教务员需要对学生所学的课程进行设置和教材,教师等的安排。每学期举行的期中,期末考试后由任课老师对本科的成绩进行上报给教务员录入。根据需要,教务员对学
17、生成绩进行统计报表,上报给学院和学校、对现行系统进行详细调查的重点是对管理业务的流程进行描述,通过采用业务流程图中的图形工具来描述管理业务活动可以帮助我直观的理解系统业务过程,找出业务流程中的不合理现象。由此规划出系统的新逻辑方案。2.3新系统的设计目标和设计思想系统开发的总体任务是实现学籍信息管理的系统化,规范化和自动化,从而达到提高学校对学籍信息管理的效率的目的。 学校信息管理的特点是信息处理量比较大。所管理的数据涉及的历史可能比较悠久,因此在管理上实现起来有一定的困难。在手工管理的时代或者数据库管理系统设计不科学的话就会造成管理数据混乱,数据库相关数据的没有很好的关联,造成数据的不一致性
18、时有发生。在本系统的设计过程中,为了克服以上困难,满足计算机管理的需要,我们采取了下面的一些原则。本系统开发设计思想: 尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用效果的目的。 系统应符合学校学生档案信息管理的规定,满足对学校学生档案日常管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。24 系统开发和运行环境:开发工具:中文版Visual FOXPRO6.0运行环境:Windows9x,Windows NT或者Win
19、dows2000,Windowxp。25 系统功能分析系统开发的总体任务是实现学籍信息管理的系统化,规范化,自动化。系统功能分析是在系统开发的总体任务的基础上完成的。学生档案信息管理系统需要完成的功能主要有: 有关学籍等信息的输入,包括学生档案基本信息,成绩以及学生评语等。 学籍信息的查询,包括学生档案基本信息,成绩信息,评语信息等。 学籍信息的修改。包括包括学生档案基本信息,成绩以及学生评语等。 学籍信息的报表。包括包括学生档案基本信息,成绩以及学生评语等。 系统参数管理信息的设置,包括班级设置、科目信息等。 系统用户的管理。包括添加操作员和用户的密码管理等。26 系统功能模块设计对上述各项
20、功能进行集中,分块,按照结构化程序设计的要求,得到如图所示的系统功能模块图: 学籍信息管理系统 基 成 评 本 绩 语 系 信 信 信 统 息 息 息 管 管 管 管 理 理 理 理 编 查 基 编 查 学 成 成 学 学 学 班 科 系 辑 询 本 辑 询 生 绩 绩 生 生 生 级 目 统 基 基 信 成 学 成 分 分 评 评 评 设 设 用 本 本 息 绩 生 绩 班 段 语 语 语 置 置 户 信 信 报 信 成 报 统 统 编 查 报 管 管 管 息 息 表 息 绩 表 计 计 辑 询 表 理 理 理 通过以上的系统功能模块结构图我们可以看出系统分为四大模块:升留级管理模块、学生基
21、本信息模块、学生评语模块、学生成绩模块。下面我将对每个模块的总体设计作简要说明。1学生基本信息模块1)编辑学生基本信息模块该模块可以实现学生信息包括学籍号、性别、出生年月、政治面貌、父母姓名、联系电话、家庭住址、入学时间等记录的录入、修改、删除等操作。2)检索学生基本信息模块该模块是学生信息模块的重要组成部分。它能够用单一条件或组合条件两种方式对满足条件的学生记录予以显示,条件的匹配方式包括等于、不等于、大于、小于等等,条件的组合方式有与、或等,力图从数据的任何一个角度反映整个数据表的信息。该模块将用SQL语言实现。3)学生信息报表模块该模块可以实现在数据库中满足指定条件的记录的输出报表。该模
22、块输出特定条件的记录也将用SQL语言实现。2学生成绩模块1)学生成绩编辑模块该模块可以实现学生成绩包括学籍号、科目、班级、时间等记录的录入、修改、删除等操作。2)学生成绩检索模块该模块是学生成绩模块的重要组成部分。它能够用单一条件或组合条件两种方式对满足条件的学生记录予以显示,检索字段包括班级、时间、科目等。条件的匹配方式包括等于、不等于、大于、小于等等,条件的组合方式有与、或等,力图从数据的任何一个角度反映整个数据表的信息。该模块将用SQL语言实现。3)学生成绩分段统计模块该模块主要完成对成绩库表中的记录按照用户的需要对不同的科目、总分等按039分,4059分,6079分,80100分分段统
23、计人数。结果显示在表单中的网格表中。3学生评语管理模块该模块实现学生在校期间各学期的班主任对该生的评语管理,又可分为评语编辑子模块、检索评语子模块、评语报表子模块。评语编辑子模块主要完成评语的录入、修改、删除等。检索评语子模块主要完成对学生评语从学号、姓名等字段来设定检索条件。评语报表子模块主要完成设定条件的记录的输出报表。4系统用户登录模块为了使系统具有通用性,系统涉及到的班级和科目等在实际中很灵活,所以这些参数的设置字段值的任务交给用户。增加了系统的通用性和灵活性。该模块还实现系统对用户身份的识别,只有输入正确的用户名和密码,系统才会进入系统运行界面,非法用户登录给出警告,密码填写错误给出
24、提醒。非法用户不能进入系统。密码三次输入不正确,系统自动退出。该模块还实现了对系统用户的添加,密码修改等管理。添加操作员的权限只有管理员才有。第三章 数据库分析和设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据库的完整和一致。同时合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各方面的需求,包括现有的以及将来可能增加的需求。31 数据库需求分析用户的需求分析具体体现在各种信息的提供、保存、更新和查询。这就要求数据库结构能充分满足各种信息的输入和输出。
25、收集基本数据,数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。在仔细分析调查有关学生档案信息需要的基础上,将得到如图所示的本系统所处理的数据流程。 学生档案注册 课程基本信息 基本信息 班级设置 输入 班级课 班级管理 程设置 学籍信息管理 成绩信息 班级课程管理 输入 成绩信息管理 学生档案信息管理系统数据流程图针对一般学生档案信息管理系统的需求,通过对学生档案学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构。 学生档案基本信息:包括的数据项有:学生档案学号、学生档案姓名、性别、出生日期、政治面貌、父母姓名、联系电话、家庭住址、入学时间。 学生成绩
26、信息:包括的数据项有:学号、科目、成绩、时间、班级等。 学生评语信息:包括的数据项有:学号、年级、时间、班主任、评语等。 成绩统计信息:包括的数据项有:科目、分段人数等。 科目信息:包括的数据项有:科目号、科目。 班级信息:包括的数据项有:班级。 用户信息:用户名、密码、权限级别。有了上面的数据结构、数据项和数据流程,下面就可以进行数据库设计了。32 数据库概念结构设计在上面的数据项和数据结构的基础上,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本系统根据以上的分析,容易得出本系统的实体有
27、:学生档案实体,班级实体,年级实体,课程实体,各个实体具体的描述E-R图如下:1):学生档案实体: 学生档案学号 住址 姓名 性别2):成绩实体: 成绩 学号 时间 科目 成绩3):评语实体: 评语 学号 评语 年级 班主任4):科目实体: 科目 科目号 科目名5)实体和实体之间的关系E-R图如图所示: 学生档案 考核 考核 评语 年级设置 年级 课程设置 课程33 数据库逻辑结构设计现在将上面的数据库概念结构转化为FOXPRO6.0数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。学生档案信息管理系统数据库
28、中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。1学生基本信息表:该表用来存放学生入学注册的个人基本信息。字段名类型宽度学号字符型10姓名字符型8性别字符型2出生年月日期型10政治面目字符型10父母姓名字符型8联系电话字符型11家庭住址字符型30入学时间日期型82学生成绩表:该表用来存放学生在校期间的个人成绩信息。字段名类型宽度学号字符型10科目字符型10成绩数值型3时间字符型10班级字符型103学生评语表:用来存放学生在校期间的评语信息。字段名类型宽度学号字符型10年级字符型10时间字符型10班主任字符型8评语备注型44成绩统计表:用来存放学生成绩统计的人数。字段名
29、类型宽度科目字符型10039分人数数字型34059分人数数字型36079分人数数字型380100分人数数字型35科目表:字段名类型宽度科目号字符型8科目字符型206班级表:用于存放系统用户登录姓名、密码。字段名类型宽度班级字符型107登录表:用于存放系统用户登录姓名、密码。字段名类型宽度用户名字符型10密码字符型10以上是本系统的库表结构的设计简要说明。第四章 学籍系统的实现按结构化的程序设计思想,在完成了系统分析、系统设计后,就可以进行系统实现阶段了,系统实现是每指把系统的物理模型转换成实际运行系统的全过程。其基本任务是:a) 前期准备b) 系统平台的安装与调试c) 程序的编制与调试d) 信
30、息系统调试e) 数据库与文件的建立f) 系统转换g) 试运行、验收与维护41系统功能表单的实现:1学生基本信息表单 1)表单运行的窗体:2)控件和事件:该表单共包括一个网格控件,2个组合框控件,1个日期控件,6个文本框控件,8个按钮控件等组成。1):表单的activate事件:该事件激活表单运行时设置数据库中逻辑删除的数据不显示。同时,该设置网格控件的数据源和网格控件的每列的字段名。每列的宽度,对齐的方式,只读性等。2)表单的init事件:该事件是设置日期的格式。默认的日期格式是01/12/04 。设置的事件可以使日期的格式为2004.01.12。这里以2004年1月12日为例。事件代码是:s
31、et cent on set date ansi3)日期控件的change事件:这里的日期是采用一个文本框和一个日期控件结合的方法。即文本框和数据库的字段日期绑定。通过日期控件的change事件使当前日期值富给相应的文本框。事件代码:thisform.text3.value=ctod(str(this.year)+.+str(this.month)+.+str(this.day)下面是日期控件的运行界面图:4)最首按钮控件的click事件:最首按钮控件是触发学生基本情况数据库中的当前记录指到第一条记录。同时网格的记录指针刷新。事件代码是:go top thisform.grid1.setfoc
32、us thisform.grid1.refresh。5)上一个按钮控件的click事件:上一个按钮控件触发当前数据库的记录指针移到当前记录的上一个。如果已经是第一个记录则给出提示。同时指针还是指到一个条记录。相应的事件代码:skip-1if bof()? chr(7) =messagebox(警告,这已经是第一条记录!,48,信息窗口)go topendifthisform.grid1.setfocus thisform.grid1.refresh 6)下一个按钮控件的click事件:该按钮控件的事件是触发数据库当前记录指针移到当前记录的下一条。同时刷新网格。如果当前记录已经是最后一个记录。则
33、给出提示。同时指针依然指到最后一个记录。相应的事件代码:skipif eof()? chr(7) =messagebox(警告,这已经是最后一条记录!,48,信息窗口)go bottomendifthisform.grid1.setfocusthisform.grid1.refresh7)最末按钮控件的click事件:该按钮是触发当前记录指针指到数据库的最末。同时刷新网格。相应的事件源代码是:go bottom thisform.grid1.setfocus thisform.grid1.refresh8)编辑按钮控件的click事件:该按钮可以触发当前表单中的文本框,组合框控件的值的只读性为
34、假即可以编辑状态由于该文本框已经和数据库的相应字段绑定,所以这里不需什么语句即可实现对数据库中相应的字段进行修改,修改完毕后,设定文本框等控件为只读。,同时网格控件刷新。设定其它按钮的可用性为真。9) 添加按钮控件的click事件:该按钮可以触发对当前数据库添加一条新的记录到数据库末尾。具体为:如果按钮的caption属性值为“添加”,则触发各个文本框的只读属性为假。按钮的caption属性为“保存”,其它的按钮控件的enabled属性为假。同时触发在学生基本信息表中末尾添加1条记录。如果该按钮的caption属性值为“保存”,则触发文本框控件的只读属性为真。即为不可编辑状态。同时其它按钮的e
35、nabled属性为真。当前按钮的caption属性值恢复到添加。同时网格控件刷新。10) 删除按钮控件的click事件:该按钮可以触发对当前数据库中的当前记录实现逻辑删除。删除时系统给出警告提示,选择是则逻辑删除,选择否则放弃删除。相应的事件源代码是:cMessageTitle=系统警告cMessageText=确认要删除吗?nDialogType=4+32 nanswer=messagebox(cMessageText,nDialogType,cMessageTitle)if nanswer=6 dele thisform.grid1.setfocus thisform.grid1.refr
36、esh endif42 学生信息查询表单的实现1)表单运行时的窗体:该表单包括一个网格控件,一个组合框控件,一个文本框控件,和5个按钮控件和一个日期控件。日期控件平时是不可见的。只有当组合框的字段值选择按时间查询时就激活日期控件的属性改为可见,这些是由组合框的interactivechange事件控件的。当表单运行时系统默认时网格内容是显示所有学生基本信息的记录。它是有表单的activate事件触发的:该事件激活表单运行时设置数据库中逻辑删除的数据不显示。同时,该设置网格控件的数据源和网格控件的每列的字段名。每列的宽度,对齐的方式,只读性等。查询按钮的click事件是:在数据库中查询满足条件的
37、记录到临时表中。设置网格的数据库源为这个临时表。这样查询的结果就显示到网格中。打印按钮的click事件是将满足查询条件的临时表中的记录打印出来。打印预览的效果如下:43 学生成绩编辑表单的实现1)表单运行时的窗体:2)控件和事件:该表单包括一个网格控件,6个文本框控件,一个日期控件和9个按钮控件等组成。其中的姓名文本框是绑定到学生基本信息的姓名字段。其它的控件是绑定到学生成绩数据库的相应字段上。对于其它的按钮控件和学生基本情况表中的按钮控件的事件类似,所以这里不再做说明。下面着重对编辑和添加按钮中的click事件已经班级和科目后面的选择按钮click事件做一些说明:编辑和添加按钮大部分的事件和
38、基本情况表单一样,只是增加了一个事件,即对添加的或者修改的数据要检查一下学号姓名同学生基本情况表中的学号姓名是否一致,对于不一致的学号姓名系统给出警告并作为非法记录而删除。对于班级和科目后面的选择按钮的click事件是定义一个公共变量x,并触发相应的科目表单和班级表单供用户选择作为编辑的数据源。下面是激活的科目表单和班级表单。 上面的二个表单的控件非常相似,下面以班级表单为例子对控件和相应的事件作一个介绍: 这里的班级表单由一个网格控件和5个按钮控件组成。表单的activate事件是:设置网格的数据源为班级表。并设置网格的每列的列头名称,对齐方式。只读性等。并设置班级表为逻辑删除不可见。用代码:set dele o