1、国家二级 VF机试(操作题)模拟试卷 418及答案与解析 一、基本操作题 1 1打开考生文件夹下的数据库 College,物理删除该数据库中的 temp表,然后将 3个自由表 “教师表 ”、 “课程表 ”和 “学院表 ”添加到该数据库中。 2为 “课程表 ”和 “教师表 ”分别建立主索引和普通索引,字段名和索引名均为 “课程号 ”,并为两个表建立一对多的联系。 3使用 SQL语句查询 “教师表 ”中工资大于 4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 one txt中, SQL语句存储于文件 two prg中。 4使用报表向导为 “学院表 ”创建一个报表 th
2、ree,选择 “学院表 ”的所有字段,其他选项均取默认值。 二、简单应用题 2 在考生文件夹下完成如下简单应用: 1打开 “课程管理 ”数据库,使用 SQL语句建立一个视图 salary,该视图包括系号和平均工资两个宁段,并且按平均工资降序排列。将该 SQL语句存储在 four prg文件中。 2打开考生文件夹下的表单 six,如下图所示, “登录 ”命令按钮的功能是:当用户输入用户名和口令以后,单击 “登录 ”按钮时,程序在自由表 “用户表 ”中进行查找, 若找不到相应的用户名,则提示“用户名错误 ”,若用户名输入正确,而口令输入错误,则提示 “口令错误 ”。修改“登录 ”命令按钮 Clic
3、k事件中标有错误的语句,使其能够正确运行。 (注意:不得做其他修改。 ) 三、综合应用题 3 在考生文件夹下创建一个下拉式菜单 mymenu mnx,并生成菜单程序mymenu mpr。运行该菜单程序时会在当前 Visual FoxPro系统菜单的末尾追加一个 “考试 ”子菜单,如下图所示。“计算 ”和 “返回 ”菜单命令的功能都通过执行 “过程 ”完成。 “计算 ”菜单命令的功能如下: (1)用ALTER TABLE语句在 order表中添加一个 “总金额 ”字段,该字段为数值型,宽度为 7,小数位数为 2。 (2)根据 orderitem表和 goods表中的相关数据计算各订单的总金额,其
4、中,一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于其数量乘以单价,填入刚建立的字段中。 “返回 ”菜单命令的功能是恢复到 Visual FoxPro的系统菜单。 菜单程序生成后,运行菜单程序,并依次执行 “计算 ”和 “返回 ”菜单命令。 国家二级 VF机试(操作题)模拟试卷 418答案与解析 一、基本操作题 1 【正确答案】 (1)打开 College数据库,用鼠标右键单击表 temp,选择 “删除 ”命令,在弹出的对话框中选择 “删除 ”按钮;用鼠标右键单击数据库设计器空白处,通过快捷菜单中的 “添加 ”命令将自由表 “教师表 ”、 “课程表 ”和 “学院表 ”添加到数
5、据库中。 (2)在数据库设计器中用鼠标右键单击表,通过快捷菜单中的 “修改 ”命令打开表设计器,按要求分别为 “课程表 ”和 “教师表 ”建立主索引和普通索引,在数据库设计器中从主索引拖曳到普通索引以建立两表间的联系。 (3)新建一个程序,写入下列代码。 选 择查询字段 SELECT*; 指定字段来源 FROM教师表; 设王查询条件 WHERE教师表工资 4500, 查询结果按职工号升序排列 ORDER BY教师表职工号; 将查询结果存储到 one txt中 TO FILE one txt 保存程序名为 “two prg”,并单击系统菜单中的运行按钮,运行程序。 (4)通过报表向导新建一个报表
6、,添加 “学院表 ”作为报表的数据源,将所有字段添加到选定字段,最后输入报表名 “three”。 【试题解析】 在数据库设计器中通过鼠标右键单击表完成删除、添加和修改表的操作。新建程序,在程序中完成 SQL语句的编写。通过 “报表向导 ”建立报表。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开考生文件夹下的数据库文件 “课程管理 ”。 步骤 2:新建一个程序,输入如下代码。 生成一个视图,数据由查询获得 CREATE sql VIEW salary AS SELECT教师表系号, AVG(教师表工资 )AS平均工资; 设置数据来源 FROM教 师表; GROUP BY子句用于按系号分
7、组,查询结果按平均工资降序排列 GROUP BY教师表系号 ORDER BY 2 DESC 步骤 3:保存程序名为 “four prg”,并运行该程序。 (2)步骤 1:打开考生文件夹下的表单six scx,修改其中的错误语句,如图 3 108所示。步骤 2:保存并运行表单,如图 3 109所示。 【试题解析】 DO WHILE循环语句的格式是 “DO WHILEENDDO”,而不是“WHHLEENDDO”;在表中,使记录指针后移一位的命令是 “SKIP”而不是“NEXT”;条件语句的格式应为 “IFENDIF”,而不是 “CASEENDIF”。 三、综合应用题 3 【正确答案】 步骤 1:新
8、建一个菜单,按要求输入菜单项的名称。 步骤 2:写入菜单项 “计算 ”的代码如下。 *“计算 ”菜单项中的代码 * ALTER TABLE ORDER ADD总金额 N(7, 2) SELECT Orderitem订单号, sum(goods单价 *orderitem数量 )as总金额; FROM goods, orderitem; WHERE Goods商品号 =Orderitem商品号; GROUP BY Orderitem订单号; ORDER BY Orderitem订单号; INTO TABLE temp dbf CLOSE ALL SELECT 1 USE TEMP INDEX ON订单号 TO ddh1 SELE 2 USE ORDER INDEX ON订单号 TO ddh2 SET RELATION TO订单号 INTO A DO WHILE NOT EOF() REPLACE总金额 WITH temp总金额 SKIP ENDDO BROW * 步骤 3:写入菜单项 “返回 ”中的过程代码为 SET SYSMENU TO DEFAULT 步骤 4:保存菜单名为 “mymenu”并生成可执行文件。运行菜单。 【试题解析】 按要求建立菜单,本题将计算出的总金额添加到表中字段部分较难,需要为表建立 临时联系。