小型教学管理系统的实现.docx

上传人:b****7 文档编号:9354716 上传时间:2023-02-04 格式:DOCX 页数:15 大小:221.45KB
下载 相关 举报
小型教学管理系统的实现.docx_第1页
第1页 / 共15页
小型教学管理系统的实现.docx_第2页
第2页 / 共15页
小型教学管理系统的实现.docx_第3页
第3页 / 共15页
小型教学管理系统的实现.docx_第4页
第4页 / 共15页
小型教学管理系统的实现.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

小型教学管理系统的实现.docx

《小型教学管理系统的实现.docx》由会员分享,可在线阅读,更多相关《小型教学管理系统的实现.docx(15页珍藏版)》请在冰豆网上搜索。

小型教学管理系统的实现.docx

小型教学管理系统的实现

小型教学管理系统的实现设计流程

一、说明:

1.根据要求编写程序,实现给定功能。

二、试题

下面是教学管理系统中的三个库表,数据库结构如下:

“学生情况表”的结构及记录

字段名

字段类型

字段宽度

小数位数

学号

Character

7

姓名

Character

8

性别

Character

2

籍贯

Character

6

学号姓名性别籍贯

0301001王强男北京

0301002李小冬男河南

0302001王红梅女黑龙江

0302003赵红宇女广东

0301004孙宏伟男河北

“课程成绩表”的结构及记录

字段名

字段类型

字段宽度

小数位数

学号

Character

7

课程号

Character

4

考试成绩

Numeric(数值型)

3

任课老师

Character

8

选课时间

Date(日期型)

8

学号课程号考试成绩任课老师选课时间

0301001010180张涛02/05/2006

0301002010285王佐09/12/2006

0302003010163张涛11/11/2006

0301004040170王晓芳04/25/2006

0302001010285王佐08/15/2006

“课程教材表”的结构及记录

字段名

字段类型

字段宽度

小数位数

课程号

Character

4

教材名称

Character

20

出版社

Character

20

单价

Numeric

6

2

课程号教材名称出版社单价

0101计算机应用基础高等教育出版社25

0102数据库管理电子工业出版社29

0201大学英语一商务印书馆23

0202大学英语二商务印书馆22

0401高等数学高等教育出版社26

三:

要求(环境:

VisualFoxfpro6.0以上)

1、建立一个项目.项目名称MYPROJ

2、在该项目下建立相关数据库,并按要求建立三个库表和索引用学号、课程号、建立表间关联。

3、在项目中建立菜单MYMENU,菜单中包括数据维护、查询、统计、个人信息和退出五个项。

4、点击数据维护时,弹出MYFORM1表单,选择某个数据库进行数据的增、删、改。

5、点击查询时,弹出MYFORM2表单,实现通过学号查询学生基本情况、通过课程号查询教材名称、出版社、单价情况、通过选课时间和课程号查询当天选课学生的基本情况。

6、点击统计时。

弹出MYFORM3表单,按任课老师和课程号统计考试成绩的平均分。

7、点击个人信息时,弹出MYINFO表单,显示考生的准考证号、考生姓名、考试机位、联系方式、试卷号。

8.点击退出时,返回系统菜单,关闭数据库。

例:

“教学管理系统”操作过程

开发基本步骤

(1)建立项目文件;

(2)在项目中建立数据库、表、索引及关联;

(3)设计菜单;

(4)设计主控程序;

(5)设计表单及相应脚本;

(6)连编应用程序。

下面分别介绍每个步骤的相关内容。

一:

建立项目文件(文件名:

MYPROJ)

创建项目以及查看管理项目文件要使用项目管理器。

项目管理器是项目的管理工具,是开发及管理应用系统的工作平台。

“项目”是相关文件、数据及对象的集合,项目文件中所保存的并非它所包括的文件,而仅是对这些文件的引用。

步骤:

(1)单击【文件】→【新建】。

或者单击标准工具栏上的【新建】按钮。

(2)打开【新建】对话框,单击选择【项目】单选框,系统将显示【创建】对话框,建立名为“MYPROJ”的项目文件。

注:

项目文件的扩展名为.Pjx;建议在创建项目前先为项目建立一个文件夹,这样便于管理.

二:

建立”教学管理”数据库

1.创建数据库

在项目管理器的“数据”选项卡下,选择“数据库”,单击“新建”按钮,然后制定新建数据库的文件名及存储路径,如“教学管理”。

2.创建表及索引

依照试题要求,创建教学管理系统中的三个表(“学生情况表”、“课程成绩表”、“课程教材表”)。

操作步骤:

(1)在“项目管理器”的“数据”选项卡下选择【数据库】→【教学管理】→【表】;

(2)单击“新建”按钮,然后选择“新建表”;

(3)制定表名及存储路径;

(4)然后在“表设计器”的“字段”选项卡下依次输入表中的字段名、类型、宽度等;

(5)选择所要建立索引的字段,指定其索引为升序或降序;“学生情况表”的学号、“课程成绩表”的课程号、学号和“课程教材表”课程号都应设置索引;

(6)单击“索引”选项卡,选择一个索引名,然后指定其索引类型。

“学生情况表”中学号和“教材课程表”中课程号为主索引;“课程成绩表”中课程号和“课程成绩表”中学号为普通索引。

注:

主索引不允许在指定的字段或表达式中有重复值,用在指定关联的主表,一个表只能创建一个主索引,如果在一个指定主索引的表中字段输入重复值,系统将返回一个错误信息,普通索引中允许存在重复值,可以作为“一对多”永久关系的多方。

3。

创建表之间的关联

(1)在“项目管理器”的“数据”选项卡中选择数据库,然后双击“教学管理”数据库打开“数据库设计器”。

(2)在“数据库设计器”中我们可以看到数据库所包含的表,在要设置关系的主表(学生情况表、课程教材表)-即设置了“主索引”的表。

选择要关联的索引名(学号、课程号)然后把它分别拖动到“课程成绩表”的课程号、学号上,松开鼠标就会看到两个标之间有一条连线,表示我们建立了库间关联。

三、设计菜单。

本系统所建表单结构如下图所示:

步骤:

在“项目管理器”的“其它”选项卡下,选定“菜单”,然后单击“新建”按钮,指定所建菜单名(MYMRNU)及存储路径;

(1)在“菜单设计器”中的“菜单名称”框依次输入所需创建的一级菜单名,如“数据维护”、“数据查询”、“数据统计”、“个人信息”、“退出”。

(2)

若程序执行时,单击该菜单需要弹出一个下级菜单,则为该菜单的“结果”选择“子菜单”;

若程序执行时,单击该菜单需执行一个命令,则为该菜单的“结果”选择“命令”;

若程序执行时,单击该菜单需执行一个程序,则为该菜单的“结果”选择“过程”。

此例中,“数据维护、数据统计、数据查询”需要弹出一个下级菜单。

所以选择“结果”为“子菜单”。

而“个人信息”考试要求,只列出一个表单即可。

所以“结果”为“命令”;

而单击“退出”时需要执行一个退出的过程,所以“退出”的“结果”为“过程”。

具体示意如下图:

在“菜单名称”下输入“数据维护”→“结果”处选择“子菜单”→“编辑”将会出来子菜单项,输入三个表的名称。

比如第一个输入“学生情况表”→“结果”处选择“命令”→“选项”处输入上面组织结构图中的命令:

doformmyform11.(执行“学生情况表”表名为myform11.)同理“课程成绩表”为myform12“课程教材表”为myform13。

然后点右侧的“菜单级”下拉肩头,找到“菜单栏”回到菜单的主界面。

如上图。

按照上面的做法,点数据查询→子菜单→编辑→输入“按学号查询”→命令→doformmyform21.依次编辑其余的“按课程号查询-doformmyform22”。

“按选课日期和课程号查询doformmyform23”。

数据统计也按上面的做法。

而个人信息→【命令】→直接输入“doformmyinfo”

“退出”→【过程】→在打开的命令文本中输入以下内容:

(汉字为解释不必输入)

Clearevents意为:

(清除时间处理)

Closeall意为:

(关闭各种数据库)

Setsysmenutodefault(建立系统菜单恢复到初始状态)。

(4)在此编辑状态下,点VF主菜单下“菜单”→【生成】,弹出保存此菜单的对话框,输入文件名mymenu。

点保存。

然后弹出“生成菜单”对话框,选择生成,系统就会生成扩展名为mpr的菜单程序文件。

四、设计主控程序

操作步骤:

(1)在“项目管理器”中“代码”选项卡中→【新建】弹出一个命令的文本框。

输入以下内容:

(汉字为解释命令的含义,不必输入)

Settalkoff关闭对话窗口

Setsafeoff关闭安全提示

Clearall清除所有文件,清除所有内存变量,用户定义的菜单条及窗口

Setdeleon关闭删除标记

Domymenu.mpr执行菜单文件

Readevents开始事件循环,菜单设计完后系统会等待鼠标单击或键盘选择,让光标等待操作

Return返回。

(2)输入完后,点右上角【关闭】,系统会弹出保存对话框,输入文件名main→保存。

(3)回到“项目管理器”中“代码”选项卡,找到保存的main文件,鼠标右击,在弹出的菜单中,选择“设置主文件”。

目的是让我们编辑的这个为主要操作文件。

五:

设计表单及相应脚本

1.数据维护表单

数据维护表单主要实现对数据的增、减、改、删功能。

在此以“学生情况表”为例说明,其他两个表单设计与此类似。

“学生情况表”表单设计效果图如图所示。

操作步骤:

(1)在“项目管理器”的“文档”选项卡中,选择【表单】→【新建】→【新建表单】;

(2)修改表单的Captiom属性,取名为(“学生情况表数据维护表单“)。

(3)在表单处单击右键,在弹出菜单中选择“数据环境”添加该表单所涉及到的表,此例为“学生情况表”。

并在“数据环境设计器”中选定该表,然后在“属性”窗口中将其Exclusive属性设为T-真。

(4)在表单添加一个表格控件(Grid),并设置相应属性;

对象名

属性

GRID1

RECORDSOURCE=学生情况表(数据环境中需添加的表)

Deletemark

F假

Scrollbars

2-垂直

(5)添加4个命令按钮,【添加】【修改】【删除】【退出】并设置相应属性(Caption)如下表。

(6)编写脚本。

(依次双击命令按钮,打开空白记录本)

事件

事件代码

FormDestroy

pack

use

【添加】按钮Click

Appeblank

Thisform.grid1.column1.setfocus

【修改】按钮click

EDIT

【删除】按钮Click

Ifmessagebox(“一旦删除记录便不能恢复,真的删除吗?

”,1+48+0,”信息提示”)=1

dele

Thisform.refresh

endif

Thisform.grid1.column1.setfocus

【退出】按钮click

Thisform.release

当做完一个表后,可以点菜单上的红色叹号按钮,系统会提示是否保存到表单中,此时给此表单取名为myform11。

不带后缀。

或者在表单的右上角点关闭按钮,也会提示为此表单保存的对话框。

为了节约时间,以此类推,做第二个或第三个表时,可以采取简单的方式。

当做完第一个表单,经【运行】后查证都可以操作时,回到第一个表单处,点【菜单】→【另存为】→弹出另存为对话框,先为表单取名为myform12/myform13等.然后在表单中做如下几处修改即可.

(1)在表单的空白处点右键→数据环境→找到第二个表单所涉及的表,比如此例中第二个表为

“课程成绩表”,点【添加】,右键【属性】→exclusive属性设为T。

(2)表单form1的caption的属性(如第二个表单“课程成绩表维护表单”)

(3)在对象grid1的【属性】中,修改recordsource的属性(数据环境中所添加的表,如“课程成绩表”,必须与所添加表的名称一致)。

如此招葫芦画瓢,可以做出第三个查询表单。

2.数据查询表单

数据查询表单需根据用户输入的查询条件,显示出满足条件的记录。

(表单的基本操作请见附录3)

(1)通过学号查询学生基本情况(myform21.scx)

按学号查询学生学号、姓名、性别、籍贯,此表单包括一个【文本控件】、一个【标签】(输入学生学号的窗口),一个【表格】控件,一个表示“退出”的【命令】控件,如图所示,在表单处单击右键,在弹出的菜单中选择“数据环境”,添加该表单所涉及的表,此例为学生基本情况表。

对象名

属性

Grid

Recordsource=学生情况表(数据环境中要添加的表)

Delemark

F假

事件

事件代码

Text1的lostfocus事件

(双击text窗口弹出空白记录本)

Setfilterto学号=alltrim(thisform.text1.value)

Thisform.refresh

【退出】按钮Click

Thisform.release

(2)第二个表,通过【课程号】查询课程名称、出版社、单价情况表单(myform22.scx)

表单包括一个【文本】控件和一个【标签】,用于输入(输入课程号编码的窗口),一个【表格】控件,一个表示退出的【命令】按钮。

其界面和属性设置类似于表单myform21.scx。

(3)双查询表单-通过课程号和选课时间查询当天选课学生的基本情况表单(myform23.scx)从题目要求可知道,这是通过第二个表中的选课时间和课程号,来查询第一个表中的学生基本情况表。

所以这设计到两个数据环境。

做此表时,表单包括两个【文本】控件和两个【标签】控件,用于输入课程号及选课时间,一个表格控件用来显查询结果,一个退出命令按钮,一个表示【查询】的命令按钮。

此表中,标签名字通过【属性】修改,两个【文本】控件,不需要输入任何事件代码,grid表中也无需设置,此表的重点就是在写【查询】事件的代码。

(4)“查询”按钮的CLICK脚本为

Select学生情况表.学号,姓名,课程号,选课时间;

From学生情况表,课程成绩表;

Where学生情况表.学号=课程成绩表.学号and;

课程号=alltrim(thisform.text1.value)and;

选课时间=ctod(alltrim(thisform.text2.value));

Intotableresult

Thisform.grid1.recordsource=”result”

Thisform.refresh

此脚本的解释为:

Select:

选择学生情况表的主索引字段”学号”,选取要显示的结果”学号,姓名”以及要通过”课程号和选课查询”的两个字段名称.

From:

从学生情况表和课程成绩表两个表中选择.

Where:

学生情况表的主索引学号.和课程成绩表的学号字段(这是两个表都共同的字段名.通过这两个共同的字段来查询两个表中的数据.)

要设置第一个[文本]控件,即通过”课程号”来查询,在第一个文本控件text1中输入.

要设置第二个[文本]控件,即通过”选课时间”来查询,在第二个文本控件text2中输入.

CTOD意为.C(字符型)to转换为D(日期型).要通过输入字符型数据来转换成日期型字段.

Intotableresult意为:

把显示结果放到表名为result(表名可以自取)

Thisform.grid1.recordsource意为.对这表进行编辑,让result这个表与grid对应起来.

Thisfrom.refresh意为刷新此表.

3.数据统计表单(此统计表单,考试时只要求列出菜单项即可.不需要做这个表单.

4.个人信息表单

六:

连编应用程序(把做过的数据库连编成一个可执行的程序)

步骤:

(1)在“项目管理器“中选择【连编】按钮

(2)在“连编选项”对话框中,选择“连编应用程序”,生成.app文件(在vf环境下执行)

(3)按[确定]按钮.

最后做完后要检查一遍.全部关掉窗口后,点”菜单”→”运行”→.app文件(小狐狸图标)

依次点数据维护/查询/统计/个人信息/退出等,检查各个表是否运行正常,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1