1、国家二级 VF机试(操作题)模拟试卷 123及答案与解析 一、基本操作题 1 在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为 PK,索引表达式为:部门号 +年度 +月份。 (2)将自由表 datatest、 model、 tabc和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计 ),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位 )。 (4)使用报表向导建立一个简单报表,要求选择表 sell中所有字段 (其他不做要求 ),报
2、表文件名为 two。 二、简单应用题 2 在考生文件夹下,打开 “宾馆 ”数据库,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询房价 “价格 ”大于等于 280元的每个客房的 “客房号 ”、 “类型号 ”(来自客房表 )、 “类型名 ”和 “价格 ”。查询结果按“类型号 ”升序排序,并将查询结果输出到表 tabb中。设计完成后,运行该查询。 (2)修改一个名称为 three prg的命令文件。该命令文件用来查询与 “姚小敏 ”同一天入住宾馆的每个客户的 “客户号 ”、 “身份证 ”、 “姓名 ”、 “工作单位 ”,查询结果包括 “姚小敏 ”本人。查询结果输出到表 t
3、abc中。该命令文件在第 3行、第 5行、第 7行和第 8行有错误 (不含注释行 ),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。 三、综合应用题 3 建立 “学生 ”数据库;把自由表 student(学生 )、 course(课程 )和 score(选课成绩 )添加到新建立的数据库;建立满足如下要求的表单 fomllist(控件名和文件名 ) 添加一个表格控件 Gridl,并按学号升序显示学生选课及考试成绩信息 (包括字段学号、姓名、院系、课程名称和成绩 )。 添加命令按钮 “保存 ”(Commandl)和 “
4、退出 ”(Command2),单击命令按钮 “保存 ”时将表格控件 Gridl中所最示的内容保存到表 results(方法不限 ),单击命令按钮 “退出 ”时关闭并释放表单。运行表单如图 3-10所示。 注意:程序完成后必须运行,并按要求保存表格控件 Gridl中所显示的内容到表 results。 国家二级 VF机试(操作题)模拟试卷 123答案与 解析 一、基本操作题 1 【正确答案】 (1) 住令窗口执行命令 ODIFY DATABASE test_db,打开test_db数据厍砹计器。 右击数据库设汁器中的 sell表,选择【修改】打开 sell表设计器,选中 “索引 ”选项卡, “索引
5、名 ”输入 “PK”, “索引 ”选项卡中将 “类型 ”选择为 “主索引 ”,表达式下方输入 “部门号 +年度 +月份 ”,建立主索引。 (2)在数据库设计器中右击,选择【添加表】,在 “打开 ”中双击 datatest农添加到数据库中,以同样的方法将 model、 tabc和 pass表添加到数据库中。 (3) 在数据设计器中右击,选择【新建表】,在 “新建表 ”中单击 “新建表 ”按钮,在弹出的 “创建 ”对话框的 “输入表名 ”中输入 test,单击 “保存 ”打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮。系统弹出 “现在
6、输入数据记录吗 ?”,单击 “否 ”按钮。 (4) 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在“新建 ”中选 “报表 ”,单击向导 ”按钮, “向导选取 ”对话框中选 “报表向导 ”项 ,单击“确定 ”按钮,启报表向导。 “步骤 1-字段选取 ”的 “数据库和表 ”下选中 sell表,将 “可用字段 ”令部添加到“选定字段 ”中。 由于本题不再要求其他操作,可直接单击 “完成 ”按钮跳至向导最后一个界面。单击 “完成 ”按钮,在 “另存为 ”的 “保存报表为: ”框中输入报表文件名 two,单击 “保存 ”。 【试题解析】 本题考查了表索引的建立;数据库的基
7、本操作;数据表的建立;报表向导的使用。 根据多个字段建立索引表达式时,可在表设计器 “索引 ”选项卡的 “表达式 ”中进行设置,或可以直接输入,也可 以打开 “表达式生成器 ”建立。 二、简单应用题 2 【正确答案】 (1)步骤 1:命令窗口执行: OPEN DATABASE宾馆,打开 “宾馆住宿 ”数据库环境。 步骤 2:命令窗口执行: CREATE QUERY two,打开查询设计器,将考生文件火下的 “客房 ”和 “房价 ”表添加到查询设计器中。系统弹出 “联接条件 ”对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”按钮设置两个表的联系。 步骤 3:依次双击 “客房 ”表巾
8、的 “客房号 ”、 “类型号 ”字段和 “房价 ”表中的 “类型名 ”、 “价格 ”字段添加到 “字 段 ”选项卡的 “选定字段 ”列表巾。 步骤 4:存 “筛选 ”选项卡中选择 “字段名 ”为 “房价价格 ”,在 “条件 ”为 “=”,在“实例 ”框中输入 “280”。 步骤 5: “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “客房类型号 ”字段添加到 “排序条件 ”列表框中。 步骤 6:执行【查询】 【查询去向】菜单命令,在 “查询去向 ”中单击 “表 ”按钮,存 “表名 ”中输入文件名 tabb,单击 “确定 ”。 步骤 7:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结
9、果,将查询文件保存到考生文件夹下。 (2)步骤 1:命令 窗口执行: MODIFY COMMAND three,打开程序义件,文件中的命令代码如下: *该命令文件用来查询与 “姚小敏 “同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位。查询结果输出到表 TABC中。 *该命令文件在第 3行、第 5行、第 7行和第 8行有错误,打开该命令义件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 1 OPEN DATABASE宾馆 2 SELECT客户客户号,身份证,姓名,工作单位; 3 FROM客户 JOIN入住; 4 WHERE入住日期 IN; 5 (
10、 SELECT ; 6 FROM客户,入住; 7 WHERE姓名 =-“姚小敏 “); 8 TO TABLE TABC 修改程序中的错误行,修改后的程序如下: 1 oPEN DATABASE宾馆 2 SELECT客户客户号,身份证,姓名,工作单位; 3 FROM客户 JOIN入住 ON客户客户号 =入住客户号; 4 wHERE入住日期工 N; 5 (SELECT入住日期; 6 FROM客户,入住; 7 WHERE客户客户号 =入住客户号 and姓名 =“姚小敏 “); 8 TNTO 11ARLF TABC 步骤 2:保存文件修改,在命令窗口执行命令: DO THREE PRG,执行程序文件。
11、【试题解析】 (1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出的字段来源于哪个数据表。 在 “筛选 ”选项卡中设置筛选条件,排序是在 “排序依据 ”选项 卡中,通过【查询去向】菜单命令打开 “查询去向 ”对话框指定输出去向。 (2)本题主要考查的是 SQL嵌套查询。该程序的功能如下: 通过子查询查找客户名是 “姚小敏 ”的客户入住日期,该查询结果可看作是一个集合,然后在主查询中查找客户入住日期在这个集合中 (即 “姚小敏 ”的入住日期 )的客户的相关信息。 根据题意,提供的程序段中第 3、 5、 7、 8行错误,依次判断各行语句可以看出:
12、 第 3行是对两个表进行联接的语句,格式一般为 FROMJOINON ,其中ON短语后面接的是两个表的联接条件,本行中缺少该 语句。 第 5行中 SELECT语句后面应指定输出的字段,本行缺少指定输出的字段。 第 7行中仅指定了筛选条件,并没有指定两个表的联接条件 (此处涉及两个表联接操作,因此要指定联接条件 ),本行应补充该联接条件且通过 AND短语将其与筛选条件联接起来。 第 8行属于固定语法错误,将数据输出到数据表中,应使用 INTO TABLE短语,而不是 TO TABLE。 三、综合应用题 3 【正确答案】 步骤 1:在命令窗口执行命令: MODIFY DATABASE学生,创建数据
13、库并打开数据库设计器。 步骤 2: 在新建的 “学生 ”数据库设计器中单击右键,选择【添加表】快捷菜单命令,在弹出的 “打开 ”对话框中双击自由表 “student”,将表添加到数据库中。以同样的方法,将 “score”和 “course”表添加到数据库中。 步骤3:在命令窗口执行命令: CREATE FORMFORMLIST,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加一个表格和两个命令按钮控件。 步骤4:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 4-14。 步骤5:双击表格 (Gridl)控件编写 Init事件代码。内容如下:
14、 *表格 (Gridl)的 Init事件代码 (以下 SQL查询语句是通过查询设计器生成 )* 1 THIS RECORDSOURCE=”; 2 SELECT student学号, student姓名, student院系, COurse课程名称, score 成绩; 3 FROM 学生 !student INNER JO工 N学 生 !score; 4 INNER JoIN学生 !course ; 5 ON score课程编号=course课程编号; 6 ON student学 号 =score学号; 7 ORDER BY 1; j 8 INTO CURSOR CURSORl” 步骤 6:双
15、击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“保存 ”按钮的 click事件代码 * SELECT * FROM CURSORl INTO TABLE RESULTS *“退出 ”按钮的 click事件代码 * THISFORM RELEASE 步骤 7:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果并生成表文件,将表单文件保存到考生文件夹下。 【试题解 析】 本题考查了数据库的基本操作;表单及控件的常用属性和方法的设置; SQL超连接查询。 利用 MODIFY DAT ABASE命令可以新建数据库并打开数据库设计器,在数据库设计器中可以进行添加、新建和删除表等
16、操作;建立数据表可以在表设计器中进行。 本题的关键是表格数据的来源,通过 RecordsourceType和 ReCOrdsource属性可以设置表格中显示的数据,本题中表格的数据源类型应为 “4-SQL说明 ”,而数据源通过 SQL超连接查询得出,该语句保存在表格的 Init事件中;由于 SQL语句涉 及 3个表的数据,因此注意 3个表之间的联系,正确设置各联系字段,其中student表和 score表通过 “学号 ”字段连接, course表和 score表通过 “课程编号 ”字段连接;查询结果保存到临时表中,通过表格控件显示。 “另存为 ”按钮中则通过一条简单的 SQL查询语句将临时表的记录输出到永久性表中保存。