1、国家二级 VF机试(操作题)模拟试卷 202及答案与解析 一、基本操作题 1 (1)打开 “学生管理 ”数据库,并从中永久删除 “学生 ”表。 (2)建立一个自由表 “教师 ”,表结构如下: 编号字符型 (8) 姓名字符型 (10) 性别字符型 (2) 职称字符型 (8) (3)利用查询设计器建立一个查询,该查询包含课程名为 “数据库 ”的 “课程 ”表中的全部信息,生成的查询保存为 query。 (4)用 SQL UPDATE语句将 “课程 ”表中课程名为 “数据库 ”的课程的 “任课教师 ”更改为 “T2222”,并将相应的 SQL语句存储在文件 four prg中。 二、简单应用题 2
2、(1)在考生文件夹下已有表单文件 formone SCX,如图 2-26所示,其中包含一个列表框、一个表格和一个命令按钮。 请按下面要求完成相应的操作: 在表单的数据环境中添加 orders表。 将列表框 List1设置成多选,另外将其的 RowSourceType属性值设置为 “8-结构 ”、RowSource设置为 orders。 将表格 Grid1的 RecordSourceTyl的属性值设置为 “4-SQL说明 ”。 修改 “显示 ”按钮的 Click事件代码。当单击该按钮时,表格 Gridl内将显示在列表框中所选 orders表中指定字段的内容。 (2)利用查询设计器创建查询,从 o
3、rders、 employee和 customer表中查询 2001年 5月 1日以后 (含 )所签所有订单的信息。查询结果依次包含 “订单号 ”、 “签订日期 ”、 “金额 ”、 “签订者 ”和 “客户名 ”5项内容,其中 “签订者 ”为签订订单的职员姓名。各记录按 “签订日期 ”降序排序,签订日期相同按 “金额 ”降序排序;查询去向为表 tableone。最后将查询保存在queryone qpr文件中,并运行该查询。 三、综合应用题 3 设计一个表单名为 myform2的表单,表单文件名为 myform2,表单的标题为 “教师课程学生基本信息浏览 ”。表单上有 1个包含 3个选项卡的 “页
4、框 ”(Pageframe1)控件和一个 “退出 ”按钮 (Command1),如图 2 20所示。其他功能要求如下: 为表单建立数据环境,向数据环境依次添加 “学生 ”表、 “班级 ”表和 “教师 ”表。 要求表单的高度为 300,宽度为500:表单显示时自动在主窗口内居中。 3个选项卡的标签的名称分别为 “学生表 ”(Page1)、 “班级表 ”(Page2)和 “教师表 ”(Page3),每个选项卡分别以表格形式浏览“学生 ”表、 “班级 ”表和 “教师 ”表的信息。选项卡距离表单的左边距为 20,顶边距为15,选项卡的高度为 240,宽度为 450。 单击 “退出 ”按钮时关闭表单。
5、国家二级 VF机试(操作题)模拟试卷 202答案与解析 一、基本操作题 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASE学生管理,打开数据库设计器。 右击数据库设计器中的 “学生 ”表,选择【删除】快捷菜单命令,在弹出的 Visual FoxPro对 话框中单击 “删除 ”按钮 (如图 3 14所示 ),将 “学生 ”表永久性删除。 (2) 在命令窗口执行命令: CLOSE ALL,关闭所有文件。 继续在命令窗口执行命令:CREATE教师,打开表设计器新建 “教师 ”表结构。 根据题意,在表设计器中逐行输入每个字段的 “字段名 ”,并设置字段 “类型 ”和 “宽度
6、 ”,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,本题不需要录入数据,单击 “否 ”按钮。 (3) 在命令窗口执行命令: OPEN DATABASE学生管理,打开数据库环境。 在命令窗口执行命 令: CREATE QUERY quervy,打开查询设计器,在 “添加表或视图 ”对话框中,双击 “课程 ”表,将表添加到查询设计器中。 在 “字段 ”选项卡中单击 “全部添加 ”按钮,将 “可用字段 ”列表中的字段全部添加到 “选定字段 ”列表中。 在 “筛选 ”选项卡的 “字段名 ”下拉列表中选择 “课程课程名 ”字段,在 “条件 ”下拉框中选择 “=”,在
7、 “实例 ”框中输入 “数据库 ”。 最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 (4) 在命令窗口执行命令: MODIFY COMMAND four,打开 程序文件编辑器。 在编辑器电输入代码: UPDATE课程 SET任课教师 =“T2222“WHERE课程名 =“数据库 “。 在命令窗口执行命令: DO four prg,执行程序文件。 【试题解析】 本题考查了数据库和表的基本操作,包括新建表和删除表的操作;利用查询设计器建立查询;通过 SQL语句更新表记录。 操作过程中特别要注意的是在删除表时,是将表从数据库中删除还是移出;而新建自由表时,如
8、果当前有打开的数据库,则需要先关闭数据库再建立数据表 建立查询时注意在查询设计器中设置筛选条件,其他 操作都比较简单;而利用SQL更新表记录时,直接套用 SQL UPDATE的命令格式即可。 二、简单应用题 2 【正确答案】 (1) 步骤 1:命令窗口执行: MODIFY FORM formone,打开表单设计器修改表单。 步骤 2:右击表单选择【数据环境】,在表单数据环境中击右键选择【添加】,在 “添加表或视图 ”对话框中双击 orders表添加到数据环境中。 步骤 3:选中表单中的列表框控件,将 RowSourceType属性值设置为: 8结构,将 RowSource属性值设置为: ord
9、ers,将 MultiSelect属性值设置为: T;选中表格 (Grid1)控件,将 RowSourceType属性值设置为: 4-SQL说明。 步骤 4: “显示 ”按钮 (Command1)的 Click事件代码如下: *“显示 ”按钮的 Click事件代码 * *下面代码的功能是根据用户对列表框的选择结果构建字段列表,然后进一步构建select语句并据此为表格的相关属性设值。 *修改所有 *FOUND*下面的一条语句。 *不能修改其他语句。不能增加语句,也不能删除语句。 s=“ f= T *FOUND* FOR i=1 TO this form List1 ColumnCount IF
10、 thisform List1 Selected(i) IF f *FOUND* s=thisform List1 valme f= F ELSE *FOUND * s=s+thisform List1 value ENDIF ENDIF ENDFOR st=“select &s from orders into CurSor tmD“ thisform Grid1 RecordSource=st 命令按钮修改后的事件代码如下: s=“ f= T * FOUND* FOR i=1 TO thisform Listl ListCount IF thisform List1 Selected(i)
11、 IF f *FOUND* s=thisform List1 List(i) f= F ELSE * FOUND* s=s+“, “+thisform List1 List(i) ENDIF ENDIF ENDFOR st=“select &s from orders into cursor tmp“ thisform Grid1 RecordSource=st 步骤 5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,并单击 “输出数据 ”按钮产生 temp dbf表文件,保存。 (2) 步骤 1:命令窗口执行: OPEN DATABASE订单管理,打开数据库环境。 步骤 2:命令窗口执
12、行 : CREATE QUERY queryone,打开查询设计器,在 “添加表或视图 ”对话框中,分别双击 employee、 orders和 customer表 (注意:一定要按顺序添加表 ),将表添加到查询设计器中,此时,添加的表会按照数据库中已存在的表间联系自动为 3个表在查询设计器中建立联系。 步骤 3:依次双击 orders表中的 “订单号 ”、 “签订日期 ”、 “金额 ”字段,添加到 “字段 ”选项卡的 “选定字段 ”列表中; “字段 ”选项卡的 “函数和表达式 ”下的文本框中输入: Employee姓名 AS签订者,单击 “添加 ”按钮添加 到 “选定字段 ”中;双击cust
13、omer表中的 “客户名 ”字段添加到 “选定字段 ”列表中。 步骤 4: “筛选 ”选项卡的 “字段名 ”中选择 “Orders签订日期 ”字段, “条件 ”下拉框中选择 “=”,在 “实例 ”框中输入: 2001-05-01。 步骤 5: “排序依据 ”选项卡中双击 “选定字段 ”列表框中的 “Orders签订日期 ”字段添加到 “排序条件 ”中, “排序选项 ”中选择 “降序 ”;双击 “选定字段 ”中的“Orders金额 ”字段添加到 “排序条件 ”中, “排序选项 ”中选择 “降序 ”单选项。 步骤 6: 执行【查询】 【查询去向】菜单命令,在弹出的 “查询去向 ”对话框中单击 “表
14、 ”图标按钮,接着在 “表名 ”中输入文件名 tableone,单击 “确定 ”按钮。 步骤 7:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 【试题解析】 (1)本题主要考查了 FOR循环语句;表单控件常用属性;宏替换函数。 本题需要了解列表框的两个重要属性:选中条目 SELECTED(I)和条目总数(LISTCOUNT)属性。程序要求实现的功能大致如下: 首先定义一个变量并赋值为空字符串 ,再定义一个变量,赋值为逻辑真。 接着使用 FOR循环开始统计列表框中被选定的条目,循环初值为 1,终值为列表框中的条目数 (该数值通过 LISTCOUNT函数计
15、算得出 );进入循环体后,通过IF条件语句首先判断列表框中条目是否被选中,如果选中,则执行第二个 IF条件语句,否则返回 FOR语句处,继续判断列表框的下一个条目。 第二个 IF语句中,首先判断则逻辑变量的值是否为真,如果为真,则空字符串变量的值等于当前列表框的条目值,接着将逻辑变量的值指定为逻辑假,当执行一次该 IF语句后,逻辑变量的值就始终为逻辑 假了;在后面执行的条件判断语句中,当逻辑变量值为假时,字符串变量的值等于 S值加上当前列表框中的条目值,此时,不会再执行逻辑变量为真的语句了。 最后,利用宏替换函数 (&)将字符串中的数据替换出来,作为简单查询的输出字段;将查询结果保存到临时表中
16、,并通过表格控件显示查询结果。 (2)本题考查了查询设计器的使用。由于涉及 3个表的连接查询,因此,要注意向查询设计器中添加表的顺序,保证各表之间在添加到查询设计器后能彼此建立联系。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: CREATE FORM myform2,打开表单设计器新建表单。向表单添加一个命令按钮和一个页框控件。 步骤 2:选择表单对象,修改对象属性值,见表 323。 步骤 3:右击表单选择【数据环境】,在表单数据环境中右击选择【添加】,在 “添加表或视图 ”中双击 “学生 ”、 “班级 ”和 “教师 ”表,将表添加到数据环境中。 步骤4:右击 “页框 ”控件,
17、选择【编辑】,让页框处于编辑状态,再将数据环境中的三个数据表分别拖到三个对应的页面中,如图 3 42所示。 (注意:在操作过程中,当独立的页面被选中时,页框处于编辑状态,在页框四周会出现蓝色边框 ;另外,表单设计器窗口应为 “还原 ”状态,而非最大化窗口 ) 步骤 5:双击 “退出 ”命令按钮,编写按钮的Click事件代码: THISFORM RELEASE。 步骤 6:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本题主要考查的是表单中页框控件的使用,以及表单数据环境的使用。通过拖放表单数据环境中的表到表单中,可快速建立表格及表格与数据表的联系,要注意的是在向每个页面中添加表格数据对象时,一定要注意页面处于编辑状态下 (每个页面都可单独选定 ),否则该表格实际是包含 在表单中而非添加到页框的页面中。控制页框中页面数的属性为 PageCount。