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