1、国家二级 VF 机试-试卷 63 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下完成如下操作: (1)新建一个名为“图书管理”的项目。 (2)在项目中建立一个名为“图书”的数据库。 (3)将考生文件夹下的所有自由表添加到“图书”数据库中。 (4)在项目中建立查询book_qu:查询价格大于等于 10 的图书(book 表)的所有信息,查询结果按价格降序排序。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)根据“班级学生”库中的
2、表用 SQL SELECT 命令查询学生的学号、姓名、课程号和成绩,结果按“课程号”降序排序,“课程号”相同时按“成绩”降序排序,并将查询结果存储到 cjb 表中,将使用的 SQL语句保存到 mysq1txt 中。 (2)使用表单向导选择“学生”表生成一个名为 myform1 的表单。要求选择“学生”表中所有字段,表单样式为“浮雕式”;按钮类型为“图片按钮”;排序字段选择“学号”(降序);表单标题为“学生基本情况输入维护”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.首先利用表设计器在考生文件夹下建立表 table3,表结构如下:
3、民族 字符型(4) 数学平均分 数值型(6,2) 英语平均分 数值型(6,2) 然后在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前 VFP 系统菜单的末尾追加一个“考试”子菜单,如图 1-22所示。 (分数:2.00)_国家二级 VF 机试-试卷 63 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下完成如下操作: (1)新建一个名为“图书管理”的项目。 (2)在项目中建立一个名为“图书”的数据库。 (3)将考生文件夹下
4、的所有自由表添加到“图书”数据库中。 (4)在项目中建立查询book_qu:查询价格大于等于 10 的图书(book 表)的所有信息,查询结果按价格降序排序。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: CREATE PROJECT 图书管理 ,新建一个项目管理器。 (2)在项目管理器中,选中“数据”选项卡内的“数据库”项,然后单击“新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”图标按钮,然后在弹出的“创建”对话框的“数据库名”框中输入“图书”,单击“保存”按钮新建一个数据库并打开数据设计器。 (3)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在
5、弹出的“打开”对话框中双击 book 表,将表添加到数据库中。以同样的方法将 borrows 表和 loans 表也添 加到数据库中。 (4)在项目管理器中,选中“数据”选项卡内的“查询”项,然后单击“新建”按钮,在弹出的“新建查询”对话框中单击“新建查询”图标按钮,打开查询设计器,在“添加表或视图”对话框中,双击 book 表,将表添加到查询设计器中。 根据题目要求,在“字段”选项卡的“可用字段”中,将全部字段都添加到“选定字段”列表中。 在“筛选”选项卡内的“字段名”下拉列表框中选择“book价格”,在“条件”下拉列表框中选择“=”,在“实例”下拉列表框中输入:10。 在“排序依据”选项卡
6、内双击“选定字段”列表框中的“价格”,将其添加到“排序条件”列表框中,在“排序选项”中选择“降序”。 最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件以文件名 book_qu 保存到考生文件夹下。)解析:解析:本大题考查了项目管理器建立和使用;在项目管理器中建立数据库和查询。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)根据“班级学生”库中的表用 SQL SELECT 命令查询学生的学号、姓名、课程号和成绩,结果按“课程号”降序排序,“课程号”相同时按“成绩”降序排序,并将查询结果存储到 cjb 表中,将使用的 SQL语句保存到 m
7、ysq1txt 中。 (2)使用表单向导选择“学生”表生成一个名为 myform1 的表单。要求选择“学生”表中所有字段,表单样式为“浮雕式”;按钮类型为“图片按钮”;排序字段选择“学号”(降序);表单标题为“学生基本情况输入维护”。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: MODIFY FILE mysq1 ,打开文本编辑器编写SQL 命令。 步骤 2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): SELECT 学生学号,学生姓名,成绩课程号,成绩成绩; FROM 班级学生!学生 INNER JOIN 班级学生!成绩; ON 学生学号=成
8、绩学号; ORDER BY 成绩课程号 DESC,成绩成绩 DESC; &查询结果先按“课程号”降序,再按“成绩”降序 INTO TABLE cjbdbf 步骤 3:在命令窗口执行命令: DO mysq1txt ,执行文件(注意:执行文件时,文件后缀名txt 不能缺省)。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE 班级学生 ,打开数据库环境。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“表单向导”项,单击“确定”按钮,启动表单向导。如图
9、2-14 所示。步骤 3:在表单向导的“步骤 1-字段选取”界面的“数据库和表”下选中“学生”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。如图 2-15 所示。 步骤 4:在表单向导的“步骤 2-选择表单样式”界面中选中“样式”列表中的“浮雕式”,再在“按钮类型”选项中选中“图片按钮”,单击“下一步”按钮。如图 2-16 所示。 步骤 5:在表单向导的“步骤 3-排序次序”界面中双击“可用的字段或索引标识”中的“学号”字段到“选定字段”列表中,然后选中“降序”选项,单击“下一步”按钮。如图 2-17 所示。 步骤 6:在表单向导的“步骤 4-完成”界面中的“请键入表
10、单标题”下方文本框中输入“学生基本情况输入维护”,单击“完成”按钮。如图 2-18 所示。 )解析:解析:(1)本题主要考查的是 SQL 联接查询。查询中需要涉及“学生”表和“成绩”表中的记录,通过“学号”字段可以建立两个表的联系,在输出查询结果时,利用 DESC 短语可以指定将结果按字段的降序排序,并通过 INTOTABLE 短语将查询结果输出到指定的表中保存。 (2)本题考查的是表单向导的使用,属于比较简单的操作。在启动向导前,可以先打开数据库环境,这样在启动向导添加数据表时,可在向导中直接选中,否则需要通过在“打开”对话框中选择数据表。本题只需根据向导提示在各界面中完成相应的操作即可。三
11、、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.首先利用表设计器在考生文件夹下建立表 table3,表结构如下: 民族 字符型(4) 数学平均分 数值型(6,2) 英语平均分 数值型(6,2) 然后在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前 VFP 系统菜单的末尾追加一个“考试”子菜单,如图 1-22所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE table3,打开数据表设计器新建表。 步骤 2:根据题意,在表设计器中逐行输入每个字段
12、的字段名,并设置字段类型和宽度,然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”, 本题不需要录入数据,单击“否”按钮。 步骤 3:在命令窗口执行命令: CREATE MENU mymenu ,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 4:在菜单设计器“菜单名称”列的文本框中输入“考试”,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第1、2 行文本框中依次输入子菜单名“计算”、“返回”,将两个子菜单的“结果”都设置为“过程”,分别单击两个子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。
13、步骤 5:两个子菜单的过程代码如下: *“计算”子菜单的过程代码* CLOSE DATABASE ALL SELECT AVG(数学),AVG(英语)FROM XUESHENG; JOIN CHENGJI ON XUESHENG学号=CHENGJI学号; WHERE 民族=“汉“ INTO ARRAY TMP1 SELECT AVG(数学),AVG(英语)FROM XUESHENG; JOIN CHENGJI ON XUESHENG学号 =CHENGJI学号; WHERE 民族“汉“ INTO ARRAY TMP2 SELECT O USE TABLE3 APPEND BLANK REPLAC
14、E 民族 WITH”汉”,数学平均分 WITH TMP1(1),英语平均分 WITH TMP1(2) APPEND BLANK REPLACE 民族 WITH “其他“,数学平均分 WITH TMP2(1),英语平均分 WITH TMP2(2) CLOSE DATAALL *“返回”子菜单的过程代码* SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 步骤 6:执行【显示】【常规选项】菜单命令,在“位置”区域选中“追加”单选项,则新建立的子菜单会在当前 Visual FoxPro 系统菜单后显示。步骤 7:执行【菜单】【生成】菜单命令,在弹出的 Vismd F
15、oxPro 对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。 步骤 8:在命令窗口执行命令: DO mymenumpr ,运行菜单,并执行“计算”菜单命令。)解析:解析:本题考查了表的基本操作;菜单的建立及使用;SQL 简单计算查询及数据表记录的修改。 表的建立和菜单的建立都属于比较基本的操作,注意向系统菜单追加菜单项时,应在菜单设计器中打开“常规选项”对话框进行设置。本题的关键是菜单命令中 SQL 查询、插入和更新语句的设计。编写程序代码基本思路如下: 首先利用 SQL 计算查询,统计“汉”族学生的“数学”和“荚语”平均成绩,将结果保存到数组中,再通过数组向 table3 表插入记录;以同样的方法再将非“汉”族学生的 “数学”和“英语”平均成绩插入到 table3 表中。 向表中添加记录时,可以先通过 VFP 的添加表记录命令 Append Blank 在表末尾先增加一个空白记录,然后通过 replace 命令修改字段值,完成记录的添加。