1、国家二级 VF机试(操作题)模拟试卷 319及答案与解析 一、基本操作题 1 (1)建立菜单 querymenu。该菜单只有 “查询 ”和 “退出 ”两个主菜单项 (条形菜单 ),其中单击菜单项 “退出 ”时,返回到 VFP系统菜单 (相应命令写在命令框中,不要写在过程中 )。 (2)将 COURSE表的 “开课系部 ”字段名改为 “开课单位 ”,其余不变。 (3)从数据库 score一 manager中移去表 temp2 dbf(不是删除 )。 (4)将 scol表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高 到低排序,排序结果存入表 NEWORDER。 二、简单应用题 2 (1
2、)使用 SQL语句查询每个职 r所经于的具有最高金额的订购单信息 (orders表 ),并将结果按金额升序存储到表 rcsults中。 (2)使用 SQL命令建立视图 view b,视图中是目前在 orders表中没有所篇订单的职工 (employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件vicwb txt中。 三、综合应用题 3 对考生文件夹下的数据库 “图书借阅 ”中的表完成如下操作: 为表 loans增加 一个字段 “姓名 ”,字段类型为 “字符型 ”,宽度为 8。 编写程序 modipro prg实现以下功能: 根据 borrows表的内容填写表 loans中 “姓
3、名 ”的字段值。 查询表 loans中 2008年 2月 3日的借传记录,并将查询结果输入表 rqtable中。运行该程序。 国家二级 VF机试(操作题)模拟试卷 319答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行: CREATE MENU query-menu,在 “新建菜单 ”对话框中单击“菜单 ”图标按钮, 打开菜单设计器。 在 “菜甲名称 ”列的文本框中依次输入 “查询 ”和 “退出 ”两个主菜单名,在 “退出 ”菜单 “结果 ”下拉框中选择为 “命令 ”,在后面的文奉框中输入命令: SET SYSMENUTO DEFAULT。 (2) 在命令窗口执
4、行命令: MODIFY DATABASESCOREMANAGER,打开数据库设计器。 右击 course表,选择【修改】,打扦表设计器,将 “字段 ”选项卡中的 “开课系部 ”字段名修改为 “开课单位 ”,单击 “确定 ”按钮保存。 (3)右击 temp2表,选择【删除】, 弹出提示对话框中单击 “移去 ”接着弹出的提示对话框中单击 “是 ”,将 temp2表从数据库中移去。 (4)在命令窗口执行: SELECT*FROM SCORE1 ORDERBY学号,成绩 DESC INTO TABLE NEW ORDER。 二、简单应用题 2 【正确答案】 【操作步骤】 步骤 1:在命令窗口执行如下
5、SOL命令语句并执行: SELECT职工号, MAX(金额 )最高金额; FROM ordems; GROUP BY职工号; INTO CURSOR temp 步骤 2:在命令窗口继续执行如下 SOL命令语句: SELECT orders *; FROM orders, temp; WHERE orders职工号 =temp职工号 AND orders金额 =temp最高余额; ORDER BY金额; INTO TABLE results (2) 【操作步骤】 步骤 1:在命令窗口执行命令: OPEN DATABASEorders-manage,打开数据库环境。 步骤 2:在命令窗口执行命令:
6、 MODIFY FILE view-b,打开文本文件编辑器编写视图定义代码 。 步骤 3:在编辑器中输入如下程序代码: CREATE VIEW viewb AS; SELECT*FROM EMPLOYEE; WHERE职工号 NOT IN ; (SELECT职工号 FROM ORDERS); ORDER BY仓库号 DESC 步骤 4:存命令窗口执行命令: DO VIEWB TXT,执行文件 (注意:执行文件时,文件后缀名 .txt不能缺省 )。 【考点链接】 SQL中的嵌套查询、视图的建市与使用。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1: 命令窗口执行如下两条命令打开 lo
7、ans表结构。 USE loans 打开 loans表 MODIFY STUCTURE 打开表设计器 步骤 2:在表设计 “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “姓名 ”, “类型 ”中选择 “字符型 ”, “宽度 ”文本框中输入 “8”,保存表结构修改。 步骤 3:命令窗口执行: MODIFY cOMN AND MODIPROG打开程序文件编辑器,输入如下程序代码 (以下 SQL查询语句是通过查询设计器生成 ): SELECT借书证号,姓名 FROM BORROWS INTO CURSOR TEMP DO WHILE NOT EOF() UPDATE LOANS SET LOANS姓名 =TEMP姓名; WHERE LOANS借书证号 =TEMP借书证号 SKIP ENDDO SELECT*FROM LOANS WHERE借书日期 =200802一 03; INTO TABLE RPTABLE 步骤 5:执行命令: DO MODIPROG PRG,执行程序。