1、国家二级 VF机试模拟试卷 221及答案与解析 一、基本操作题( 30分) 1 (1)打开 “订货管理 ”数据库,并将表 order_list添加到该数据库中。 (2)在 “订货管理 ”数据库中建立表 customer,表结构描述如下: 客户号 字符型 (6) 客户名 字符型 (16) 地址 字符型 (20) 电话 字符型 (14) (3)为新建立的 customer表创建一个主索引。索引名和索引表达式均是 “客户号 ”。 (4)将表 order detai1从数据库中移出,并永久删除。 二、简单应用题( 40分) 2 (1)请修改并执行名称为 form1的表单,要求如下: 为表单建立数据环境
2、,并将 “雇员 ”表添加到数据环境中。 将表单标题修改为 “XXX公司雇员信息维护 ”。 修改命令按钮 “刷新日期 ”的 Click事件下的语句,使用 SQL的更新命令。将“雇员 ”表中 “日期 ”字段值更换成当前计算机的日期值。注意:只能在原语句上进行修改,不可以增加语句行。 (2)建立一个名称为 menu1的菜单,菜单栏有 “文 件 ”和 “编辑浏览 ”两个菜单。 “文件 ”菜单下有 “打开 ”、 “关闭退出 ”两个子菜单; “编辑浏览 ”菜单下有 “雇员编辑 ”、“部门编辑 ”和 “雇员浏览 ”三个子菜单。 三、综合应用题( 30分) 3 首先将 order_detail表全部内容复制到
3、 od_bak表,然后完成如下操作: (1)将 od_bak表中的订单号字段值只保留最后一个字母 (用 REPLACE命令或SQLUPDATE命令完成修改 )。 (2)用 SQL语句对 od bak表编写完成如下功能的程序: 把 “订单号 ”相同并且 “器件号 ”相同的订单 合并为一条记录, “单价 ”取最低价,“数量 ”取合计。 结果先按新的 “订单号 ”升序排序,再按 “器件号 ”升序排序。 最终记录的处理结果保存在 od new表中,表中的字段由 “订单号 ”、 “器件号 ”、 “器件名 ”、 “单价 ”和 “数量 ”构成。 (3)最后将程序保存为 prog1 prg,并执行该程序。 国
4、家二级 VF机试模拟试卷 221答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在命令窗口执行命令: MODIFY DATABASE 订货管理。打开数据库设计器。右击数 据库设计器选择【添加表】快捷菜单命令,在弹出的 “打开 ”对话框中双击 order_list表,将表添加到数据库中。 (2) 在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的 “新建表 ”对话框中单击 “新建表 ”图标按钮,然后在弹出的 “创建 ”对话框的 “输入表名 ”框中输入 “customer”,单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类
5、型和宽度,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,由于本题没有要求输入数 据,单击 “否 ”按钮。 (3)右击数据库设计器中的 cuomer表,选择【修改】快捷菜单命令,打开customer表设计器,在 “字段 ”选项卡中选中 “客户号 ”,在 “索引 ”列中选择 “升序 ”,然后在 “索引 ”选项卡中修改 “索引类型 ”为主索引,建立 “客户号 ”字段的主索引,单击 “确定 ”按钮保存表结构修改。 (4)右击数据库设计器中的 order derail表,选择【删除】快捷菜单命令,在弹出的对话框中单击 “删除 ”按钮,将 order_derail表从
6、数据库中永久删除。 【试题解析】 本题考查了数据库及 表的基本操作;索引的建立。 向数据库中添加表的操作在数据库设计器中完成。建立表索引可以在表设计器中进行,在表设计器的 “字段 ”选项卡中,可以通过选择 “排序 ”下拉框中的 “升序 ”和 “降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需要在 “索引 ”选项卡中进行修改。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: MODIFY FORM FORM1,打开表单设计器修改表单。 步骤 2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择
7、【添加】快捷菜单命令,在 “添加表或视图 ”对话框中双击 “唐员 ”表,将表添加到数据环境中。 步骤 3:在 “属性 ”面板中修改表单 (Form1)的 Caption属性值为 “XXX公司雇员信息维护 ”。 步骤 4:双击表单中的 “刷新日期 ”命令按钮 (Command1),查看按钮的 Click事件代码: UPDATE ALL 日期 WITH DATE() 修改后的代码如下: UPDATE 雇员 SET 日期 =DATE() 步骤 5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: CREATE MENU menu
8、1,在弹出的 “新建菜单 ”对话框中单击 “菜单 ”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器 “菜单名称 ”列的文本框中依次输入 “文件 ”和 “编辑浏览 ”两个主菜单名, “结果 ”下拉框中选择为 “子菜单 ”,单击 “文件 ”行的 “创建 ”按钮进入下级菜单设计,在 “菜单名称 ”列的第 1、 2行文本框中依次输入子菜单名 “打 开 ”和 “关闭退出 ”。 步骤 3:通过 “菜单级 ”下拉框返回主菜单项设计界面,参照步骤 2的操作再建立“编辑浏览 ”的下级菜单。 步骤 4:执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击 “是 ”按钮,接着系统会弹
9、出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件。 【试题解析】 (1)本题考查了表单及控件的常用属性、时间和方法;表单数据环境; SQL更新语句。 在表单设计器中可以通过快捷菜单命令或 “表单设计器 ”工具栏打开数据环境;修改表单的属性可以在 “属性 ”面板中操作,标题属性为 Caption;利用 SQL更新语句修改表记录,其固定的语法结构是: UPDATE表名 SET字段名 =表达式 ,字段名 1=表达式 11WHERE 条件表达式。 (2)本题主要考查了下拉菜单的设计,操作过程中注意主菜单和子菜单的操作,从子菜单返回主菜单设计界面,可以使用菜单设计器右侧的 “菜单栏
10、 ”下拉框,另外,鳊写 “退出 ”菜单命令时,要熟记返回系统菜单的命令语句: SET SYSMENU TO DEFAULT;最后要注意生成可执行菜单文件。 三、综合应用题( 30分) 3 【正 确答案】 步骤 1:在命令窗口执行命令: SELECT * FROMorder_detail INTO TABLE od_bak,将 order_detail表的全部内容复制到 od_bak表中。 步骤 2:在命令窗口执行命令: UPDATE od_bak SET订单号=RIGHT(ALLTRIM(订单号 ), 1),将 od_bak表中的 “订单号 ”字段值只保留最后一个字母。 步骤 3:在命令窗口执
11、行命令: MODIFY COMMAND PROG1,新建程序并打开程序编辑 器。 步骤 4:在程序编辑器中输入如下程序代码: SELECT 订单号,器件号,器件名; MIN(单价 ) AS 单价, SUM(数量 ) AS 数量; FROM OD_BAK; GROUP BY 订单号,器件号; ORDER BY 订单号,器件号; INTO TABLE OD_NEW 步骤 5:单击 “保存 ”按钮,并运行程序。 【试题解析】 本题主要考查的是程序的建立方法、 SQL分组与计算查询语句、记录的修改方法。本题的 SQL分组与计算查询语句比较复杂,本题大概可以分为以下几步:首先利用 select语句将 order_detail表的记录复制到新表中,该语句比较简单。 接着,利用 UPDATE语句更新表中的记录值,不熟悉 UPDATE语句的考生也可以通过 replace.with.命令更新。 最后,通过 SQL分组与计算查询语句对记录进行合并,其中用到了 min()和sum()函数计算,分组语句则要求同时对两个字段进行分组,首先是按订单号字段分组,接着再按配件号分组,分组计算完毕之后,再通过 order by短语对查询结果进行排序,最后保存查询结果到新表中。