2001年(春)江苏省普通高校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷
二级 Visual FoxPro 5.0 (VFP01)
(本试卷上机考试时间为70分钟)
说明:1.考试语言环境一律为Visual FoxPro 5.0
2.运行考试软盘A中的“准考证”应用程序文件,输入考生的准考证号、试卷代号。
3.启动VFP5.0系统后,首先在命令窗口中执行命令:
set default to A:
以设置默认的工作目录,然后再开始作题。 |
一、项目、数据库和表操作
打开软盘根目录中的项目文件TESTF,在该项目中已有一数据库SJK,根据下列要求完成有关数据库及表的操作。
1. 修改项目中自由表JSB,要求:
(1)将JSB表的JBGZ字段的宽度改成8,小数位数修改为1;
(2)物理删除JSB表中所有ximing为“计算机科学系”的教师记录;
(3)将项目中的自由表RKB更改为:RKBRE。
2. 设置SJK中RK表的字段属性及表属性,要求:
(1)将ZYDH字段的标题设置为“专业代号”;
(2)将KCDH字段的标题设置为“课程代号”。
3. 根据下面表格中列出的要求对SJK中的JS表建立结构复合索引:
索引名 |
类型 |
表达式 |
CSRQ |
普通索引 |
由ZC和CSRQ两个字段组成 |
4. 为RK表添加说明为“教师任课表”。
5. 已知JS表和RK表已按GH建立永久性关系,试按下列要求设置两个表之间的参照完整性规则:
如果在JS表中不存在匹配的关键字值,则禁止在RK表中插入记录。
6. 将自由表XSB添加到SJK中。
二、设置查询
1. 数据库SJK中,KC表(课程)含有数值型的kss字段(课时数)。在TESTF项目中已存在查询chaxuna,按如下要求设计该查询:
基于kc表查询所有不带删除标记且课时数超过5或课时数小于3(不包含5和3)的课程。要求输出字段为:kcdh,kcm,kss,bxk,xf,查询结果按kss的降序排序。
2. SJK数据库中包含xs(学生)表和视图“课程成绩”(包含课程名、学生成绩)。在TESTF项目中已存在查询chaxunB,按如下要求设计该查询:
基于xs表和“课程成绩”视图查询各学生各门课程的成绩。要求输出字段为:xh,xm,kcm,cj。查询结果按xh和kcm升序排列,查询结果的输出去向为临时表xmcj。
三、设计类
在TESTF项目中已存在类库mylib,在该类库中按如下要求创建工具栏子类:
(1)基于工具栏类创建工具栏子类tbFont;
(2)设置tbFont的标题为“字体工具栏”;
(3) 在tbFont工具栏中添加如下控件,并设置有关的属性;
控件名称 |
属性 |
属性值 |
标签控件:Label1 |
标题 |
字体 |
对齐方式 |
居右 |
组合框:cboFontName |
行源类型 |
数组 |
行源 |
fn |
命令按钮:Command1 |
标题 |
B |
粗体 |
.T. |
命令按钮:Command2 |
标题 |
I |
斜体 |
.T. |
(4)设置工具栏tbFont的Refresh方法的代码:
enab=INLIST(_SCREEN.ActiveForm.ActiveControl.BaseClass,"TextBox","EditBox")
该命令用来测试活动表单中活动控件是否是文本框或编辑框。然后在此命令下面再增加一条命令,要求根据变量enab的值,利用工具栏的SetAll方法设置工具栏中所有控件的Enabled属性。
(5)设置组合框cboFontName的Init事件代码:
Public fn(1)
=Afont(fn)
设计完成后的工具栏如下图所示。
四、 设计表单
根据下列要求修改项目文件中的表单formf,该表单用来以按课程查看学生的成绩。
1. 将表单的标题设置为“课程选修情况查询”;
2. 将KC表添加到数据环境中;
3. 在表单中添加一个列表框控件,并设置它的列数为3列,前二列的宽度分别为40,120;
4. 要求在该列表框中显示课程表的KCDH(课程代号)、KCM(课程名)、KSS(课时数)三个字段内容,试为它设置RowSource和RowSourceType属性的值;
5. 当鼠标在列表框中选定一门课程时,要求右边的表格中显示选修该门课程的学生名单,试编制相应的事件代码。
进行上述修改以后,运行显示如下图所示。
|