搜索
您的当前位置:首页正文

实 验 完 成 报 告 书——VFP课程设计

来源:爱够旅游网


实 验 完 成 报 告 书 实验题目 实验时间 实验地点 实 验 要 求 关系数据库管理系统课程设计 2010.2.21—3.4 机房一 学号 姓名 0942803110 张阳 要求:建立一个教学管理系统,系统由数据库,表单,报表和菜单组成。系统能够通过菜单实现数据的管理,查询统计和打印输出等基本功能。 软 件 环 境 系统模块结构图如下: 教师基本信息 学生基本信息 数据管理 课程基本信息 教师任课情况 数据查询 学生选修课程情况 学生成绩管理系统 教师任课课时 统计处理 课程选修情况 学生成绩统计 打印输出 学生总成绩 教师任课课时信息 操作系统:Window XP 数据库管理系统:VFP6.0 硬件环境

处理器:Intel Pentium 166 MX 或更高 内存:512M 硬盘空间:20G或更大

实 验 步 骤 启动Visual FoxPro6.0程序,并设置默认文件夹:set defa to I:\\张阳0942803110 (一) 建数据库表结构 1. 新建数据库,命名sjk. 2. 建立cj表。 字段包括:学号(xh)C10,课程代号(kcdh)C4,成绩(cj)N3. (1) 打开实验十,浏览cj表,在命令窗口中输入“copy to cj ” (2) 添加cj表 (3) 浏览cj表,录入课程代号为01—06的自己的各门学科成绩 3. 建立xs表。 字段包括:学号(xh)C10,姓名(xm)C8,性别(xb),系名(ximing)C20 (1) 新建查询,在查询设计器中添加xs表和xim表,添加字段xh,xm,xb,ximing (2) 从“查询”菜单中选“查询去向”,选择表,将表命名为xs表,并运行。 (3) 在数据库中添加xs表,打开表设计器,修改字段宽度。 (4) 浏览xs表,点“表”菜单“追加新纪录”,输入:0942803110,张阳,女,信息管理系 4. 建立js表。 字段包括:工号(gh)C5,姓名(xm)C8,性别(xb)C2 (1) 新建查询,在查询设计器中分别添加js表,gz表 (2) 添加可用字段gh,xm,xb,csrq,jbgz,jl (3) 在“查询”菜单中选择“查询去向”,选择表,将表命名为js表,并运行。 (4) 在数据库中添加js表,打开表设计器,修改各字段信息,插入一个字段名“gl” (5) 浏览js表,在“表”菜单中点“替换字段”,把“gl”替换为“year(date())-year(gzrq)” 点“替换”,确定。 5. 建立kc表 字段包括:课程代号(kcdh)C4,课程名(kcm)C30,课时数(kss)N3,课程类别(bxk)L,工号(gh)C5 (1) 新建查询,在查询设计器中添加kc表和rk表。 (2) 添加可用字段kcdh,kcm,kss,bxk,gh. (3) 在“查询”菜单中选“查询字段”,选择表,将表命名为kc表,并运行。 (4) 在数据库中添加kc表(打开表设计器,按条件修改各字段信息)。 (5) 删除kcdh相同的字段,先做删除标记,再在命令窗口中执行“PACK”命令。 自此,数据库设计完成。 (二) 界面设计 1. 建“教师基本信息”表单 (1) 新建表单,将caption属性改为“教师基本信息”,添加标签控件,caption属性设为“教师基本信息”,backstyle属性设为“0-透明”,fontsize属性设为“20”。 (2) 打开数据环境窗口,添加js 表,将每个字段依次拖入表单中。 (3) 调整各字段位置,将各字段的caption属性相应修改。 (4) 添加命令按钮组,将buttoncount属性设置为4,autosize属性设置为“T-真”。右击命令按钮组,点“编辑”,依次将caption属性改为“第一个”,“前一个”,“后一个”,“最后一个”,并将命令按钮组的click事件设为:

实 验 步 骤 DO CASE CASE This.Value=1 IF recno()=1 this.Command1.enabled=.f. this.Command2.enabled=.f. else goto top endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=2 IF BOF() this.Command1.enabled=.f. this.Command2.enabled=.f. else SKIP -1 endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=3 IF EOF() this.Command3.enabled=.f. this.Command4.enabled=.f. else SKIP endif this.command1.enabled=.t. this.command2.enabled=.t. CASE This.Value=4 if recno()<> reccount() goto bottom else this.command3.enabled=.f. this.command4.enabled=.f. endif this.command1.enabled=.t. this.command2.enabled=.t. ENDCASE ThisForm.refresh (5) 保存并运行 (6)添加命令按钮,caption属性设为“退出”,将其click事件设为“ThisForm.Release”.

实 验 步 骤 (6) 将表单的windowstate属性设为“2-最大化”,保存并运行。 2. 建“学生基本信息”表单 (1) 新建表单,将表单的caption属性设为“学生基本信息”, (2) 添加标签控件,caption属性设为“学生基本信息”,fontsize属性设为“20”,backstyle属性为“0-透明”。 (3) 打开数据环境,添加xs表,将各字段分别拖入表单中,设置各字段caption属性。 添加命令按钮组,将buttoncount属性设置为4,autosize属性设置为“T-真”。右击命令按钮组,点编辑,依次将caption属性改为“第一个”,“前一个”,“后一个”,“最后一个“,并将命令按钮组的click事件: DO CASE CASE This.Value=1 IF recno()=1 this.Command1.enabled=.f. this.Command2.enabled=.f. else goto top endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=2 IF BOF() this.Command1.enabled=.f. this.Command2.enabled=.f. else SKIP -1 endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=3 IF EOF() this.Command3.enabled=.f. this.Command4.enabled=.f. else SKIP endif this.command1.enabled=.t. this.command2.enabled=.t. CASE This.Value=4 if recno()<> reccount() goto bottom else

实 验 步 骤 this.command3.enabled=.f. this.command4.enabled=.f. endif this.command1.enabled=.t. this.command2.enabled=.t. ENDCASE ThisForm.refresh (4) 添加命令按钮,caotion属性设为“退出“,click事件设为”ThisForm.release“ (5) 表单的windowstate属性设为“2-最大化“,保存并运行。 3. 建“课程基本信息“表单 (1) 新建表单,将其caption属性设为“课程基本信息“、 (2) 添加标签控件,caption属性设为“课程基本信息“,fontsize属性设为”20“,backstyle属性设为”0-透明“ (3) 打开数据环境,添加kc表,依次拖入各字段:kcdh,kcm,kss,gh,并依次修改各字段的caption属性。 添加命令按钮组,buttoncount属性设为4,autosize属性设为“T-真“,依次将caption属性设为”“第一个”,“前一个”,“后一个”,“最后一个“。命令按钮组的click事件:DO CASE CASE This.Value=1 IF recno()=1 this.Command1.enabled=.f. this.Command2.enabled=.f. else goto top endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=2 IF BOF() this.Command1.enabled=.f. this.Command2.enabled=.f. else SKIP -1 endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=3 IF EOF() this.Command3.enabled=.f. this.Command4.enabled=.f. else SKIP endif

实 验 步 骤 this.command1.enabled=.t. this.command2.enabled=.t. CASE This.Value=4 if recno()<> reccount() goto bottom else this.command3.enabled=.f. this.command4.enabled=.f. endif this.command1.enabled=.t. this.command2.enabled=.t. ENDCASE ThisForm.refresh (4) 添加一个命令,caption属性设为“退出”,click事件设为“ThisForm.release”。 (5) 表单的windowstate属性设为“2-最大化”,保存并运行。 4. 建“教师任课情况”表单 (1) 新建查询,在查询设计器中添加kc表,js表 (2) 添加可用字段:gh,xm,kcm,kcdh,kss,bxk (3) 在“查询”菜单中点“查询去向”,点表,表名为jsrkqk,运行。 (4) 在数据库表中添加jsrkqk (5) 新建表单,表单的caption属性设为“教师任课情况” (6) 添加标签控件,caption属性设为“教师任课情况”,fontsize属性设为“20” (7) 打开数据环境,添加jsrkqk表,把表拖入表单设计器中,依次修改各字段caption 属性 (8) 添加一个命令,caption属性设为退出,click事件设为“ThisForm.release” (9) 表单的windowstate属性设为“2-最大化”,保存并运行。 5. 建“学生选修课程信息”表单 (1) 新建查询,在查询设计器中添加xs表,cj表,kc表 (2) 添加可用字段xh,kcm,kss,gh,cj (3) 在“查询”菜单中点“查询去向”,点表,表名为xsxxkcxx,运行 (4) 在数据库表中添加xsxxkcxx,并对xh建一个索引 (5) 新建表单,caption属性设为“学生选修课程信息” (6) 添加标签控件,caption属性设为“学生选修课程信息”,fontsize属性为“20”,backstyle属性设为“0-透明” (7) 打开数据环境,添加xs表和xsxxkcxx (8) 将xsxxkcxx拖入表单设计器 (9) 建立一个组合框,rowsourcetype属性设为“6-字段”,rowsourse属性设为xs,xh,xm,boundcolumn属性设为1,columncount属性设为2 (10) 添加一个命令按钮,caption属性设为退出,click事件设为“ThisForm.release” (11) 表单的windowstate属性设为“2-最大化”,保存并运行 6.建“教师任课课时”表单 (1)新建查询,添加cj表,kc表,js表 (2)添加可用字段:xm,gh,kcm,kss (3)在“查询”菜单中点表,表名为jsrkss,运行。

实 验 步 骤 (4)在数据库表中添加jsrkss表 (5)新建表单,caption属性设为“教师任课课时” (6)添加标签控件,caption属性为“教师任课课时数”,fontsize属性设为“20”,backstyle属性设为“0-透明” (7)打开数据环境,添加jsrkss表,将各字段拖入表单设计器中,分别设置各字段的caption属性 (8)添加命令按钮组,buttoncount属性设为4,分别设置caption 属性为为“第一个”,“前一个”,“后一个”,“最后一个”,click事件设置: DO CASE CASE This.Value=1 IF recno()=1 this.Command1.enabled=.f. this.Command2.enabled=.f. else goto top endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=2 IF BOF() this.Command1.enabled=.f. this.Command2.enabled=.f. else SKIP -1 endif this.Command3.enabled=.t. this.Command4.enabled=.t. CASE This.Value=3 IF EOF() this.Command3.enabled=.f. this.Command4.enabled=.f. else SKIP endif this.command1.enabled=.t. this.command2.enabled=.t. CASE This.Value=4 if recno()<> reccount() goto bottom else this.command3.enabled=.f. this.command4.enabled=.f. endif this.command1.enabled=.t.

实 验 步 骤 this.command2.enabled=.t. ENDCASE ThisForm.refresh (9)添加一个命令按钮,caption属性设为退出,click事件设为“ThisForm.release” (10)表单的windowstate属性设为“2-最大化”,保存并运行。 7.建“课程选修情况”表单 (1)新建查询,在查询设计器中添加xs表,cj表,kc表 (2)添加可用字段kcdh,cj,xh,kcm,xm (3)在“查询”菜单中点“查询去向”,点表,表名为kcxxqk,运行 (4)在数据库表中添加kcxxqk表 (5)新建表单,caption属性设为“课程选修情况” (6)添加一个标签控件,caption属性设为“课程选修情况”,fontsize属性设为“20”,backstyle属性设为“0-透明” (7)打开数据环境,添加kcxxqk表,将其拖入表单设计器中,分别修改各字段的caption属性 (8)添加一个命令按钮,caption属性设为退出,click事件设为“ThisForm.release” (9)表单的windowstate属性设为“2-最大化” (10)保存并运行。 8.建“学生成绩统计”表单 (1)新建查询,在查询设计器中添加xs表,cj表,kc表 (2)添加可用字段xm,xh,kss,cj,kcm (3)在“查询”菜单中点“查询去向”,点表,表名为xscjtj,运行 (4)在数据库表中添加xscjtj表 (5)新建表单,caption属性设为“学生成绩统计” (6)添加一个标签控件,caption属性设为“学生成绩统计”,fontsize属性设为“20” (7)添加一个页框,第一个字段caption属性设为“总成绩”,第二个为“明细成绩” (8)右击使页框处于编辑状态,将两个页面控件的caption属性设为“总成绩”,“明细成绩” (9)从数据环境窗口中分别将xscjtj表和xscjtjmxcj表拖入总成绩和明细成绩中 (10)表单的windowstate属性设为“2-最大” (11)保存并运行. 9.建“学生总成绩”报表 (1)新建报表,点报表向导,选xscjtj表,添加可用字段xh,xm,xxks,zcj,点下一步---下一步---带区式---下一步---下一步---预览---完成 (2)添加报表,选xscjytj (3)修改报表,将各字段名改成中文,完成。 10.建“教师任课时数”报表 (1)新建报表,点报表向导,选jsrkss表,添加可用字段gh,xm,kss,zcj,点下一步---下一步---带区式---下一步---下一步---预览---完成 (2)添加报表,选jsrkss (3)修改报表,将各字段名改成中文,完成。

实 验 步 骤 (三) 建立菜单 1. 新建菜单---菜单,在菜单设计器中依次输入菜单名称:“数据管理”,“数据查询”,“统计处理”,“打印输出” 2. 点数据管理后面的创建,菜单名称输入“教师基本信息”,“学生基本信息”,“课程基本信息”,结果栏选命令,选项栏分别输入“do form js”,“do form xs”,“do form kc” 3. 返回菜单栏,点数据查询后面的创建,菜单名称输入“教师任课情况”,“学生选修课程信息”,结果栏选命令,选项栏分别输入“do form jsrkqk”,“do form xsxxkcxx” 4. 返回菜单栏,点统计处理后面的创建,菜单名称输入“教师任课课时”,“课程选修情况”,“学生成绩统计”,结果栏选命令,选项栏分别输入“do form jsrkss”“,do form kcxxqk”,“do form xscjtj” 5. 返回菜单栏,点打印输出后面的创建,菜单名称输入“学生总成绩”,“教师任课课时信息”,结果栏选命令,选项栏分别输入“report form xscjtj preview”“report form jsrkss preview” 6. 在“显示”菜单的常规选项中选“顶曾表单” 7. 在“窗口”菜单中点“生成”,菜单保存命名为cd 8. 新建表单,caption属性设为“dcbd” 9. 右击选择代码,设置init事件为“do cd.mpr WITH This,.T.”windowstate属性设为“2-最大化” 10. 将dcbd表单右击设置为主文件 11. 重命名各表单,将“教师基本信息”,“教师任课情况”,“教师任课时数”,“课程基本信息”,“课程选修情况”,“学生基本信息”,“学生成绩统计”,“学生选修课程信息”重命名为“js”,“jsrkqk”,“jsrkss”,“kc”,“kcxxqk”,“xs”,“xscjtj”,“xsxxkcxx” 12. 重命名各报表,将“教师任课时数”。“学生成绩统计”重命名为“jsrkss”,“xscjtj” 13. 添加背景图片,设置各表单的picture属性,添加图片,调整图片大小,保存并运行。 14. 运行dcbd 15. 连编表单。将表单dcbd设置为主文件,在项目管理器中选择连编,在连编选项中选择“连编应用程序”,“重新编译全部文件”“确定” 自此,数据库管理系统建成。

心 得 体 会 通过这些天的学习,觉得建立关系数据库管理系统蛮有趣的,学到了很多。起先两天时间一直都在学习中,摸索中学习,因为一些细节上的问题,比如说没有设置默认路径,表联接错误,结果一些程序就运行不起来,数据库中的表在表单中实现不了,因此又重头做了一遍,再一次做就比之前好多了,熟练许多。 在系统的建立过程中,经常性犯的错误和注意事项我给自己做了总结。 1.实验前需设置默认工作文件夹。 2.主表和子表关系应理清,索引建在子表中。 3.新建查询文件时,可用字段添加完,在“查询”菜单中点“查询去向”,点表,最后运行一次。 4.在建表单的过程中,一些属性容易弄混的需强化记忆。如建学生选修课程信息时,rowsource属性和rowsourcetype属性,boundcolumn属性和columncount属性。 5.写代码时,需反复琢磨推敲,比如按钮什么时候灰,什么时候不灰。 6.建页框控件时,正确添加各表。 7.学会导出导入数据,利用在Excel中方便的处理表信息。 8.建菜单时,需生成为菜单程序文件。 几天时间,收获很多,觉得编一个程序真的不容易,任何细节都不可马虎带过,而且,运用这样的系统,处理数据方便多了,对今后的学习和工作有很大帮助。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top