1、国家二级 VF机试(操作题)模拟试卷 183及答案与解析 一、基本操作题 1 (1)打开考生文件夹下的数据库 SPORT,首先永久删除该数据库中的 temp表,然后将 “金牌榜 ”、 “获奖牌情况 ”和 “国家 ”3个自由表加入该数据库中。 (2)在表设计器中,为表 “金牌榜 ”建立一个普通索引,索引名和索引表达式均为“金牌数 ”。 (3)使用 SQL语句为表 “金牌榜 ”增加一个字段 “奖牌总数 ”(整数型 ),同时为该字段设置有效性规则:奖牌总数 =0。请将该 SQL语句存储在文件 one prg中,否则不得分。 (4)使用 SQL语句更改表 “金牌榜 ”所有记录的 “奖牌总数 ”字段值,
2、该值应为 “金牌数 ”、 “银牌数 ”、 “铜牌数 ”3项之和。请将该 SQL语句存储在文件 two prg中,否则不得分。 二、简单应用题 2 (1)编写程序 three prg完成下列操作:根据 “外汇汇率 ”表中的数据产生 rate表中的数据。 要求:将所有 “外汇汇率 ”表中的数据插入 rate表中并且顺序不变,由于 “外汇汇率 ”中的 “币种 1”和 “币种 2”存放的是外币名称,而 rate表中的 “币种 1代码 ”和 “币种2代码 ”应该存放外币代码,所以插入时要做相 应的改动, “外币名称 ”与 “外币代码 ”的对应关系存储在 “外汇代码 ”表中。 注意:程序必须执行一次,保证
3、 rate表中有正确的结果。 (2)使用查询设计器建立一个查询文件 four qpr。查询要求:从外汇账户中查询“日元 ”和 “欧元 ”的记录。查询结果包括了外币名称、钞汇标志、金额,结果按 “外币名称 ”升序排序,在 “外币名称 ”相同的情况下按 “金额 ”降序排序,并将查询结果存储于表 five dbf中。 三、综合应用题 3 在考生文件夹下,先打开 “宾馆 ”数据库,然后创建一个文件名为 test的表单,如图 2 15所示。 该表单完成如下综合应用: 在该表单中设计一个标签 (Label1)、一个文本框 (Text1)和两个命令按钮。 标签的标题文本为 “退房日期大于或等于 ”。文本框用
4、于输入退房日期。两个命令按钮的功能如下: “查询 ”按钮 (Command1):在该按钮的 Click事件中使用 SQL的 SELECT命令查询退房日期大于或等于输入日期的 “客户号 ”、 “身份证 ”、 “姓名 ”、 “工作单位 ”和该客户入住的 “客房号 ”、 “类型名 ”、 “价格信息 ”,查询结果按 “价格 ”降序排序,并将查询结果存储到表 tabd中。表 tabd的字段为 “客户号 ”、 “身份证 ”、 “姓名 ”、“工作单位 ”、 “客房号 ”、 “类型名 ”和 “价格 ”。 “退出 ”按钮 (Command2)的功能是。 “关闭和释放表单 ”。 表单设计完成后,运行该表单,查询退
5、房日期大于或等于 2005-04-01的顾客信息。 国家二级 VF机试(操作题)模拟试卷 183答案与解析 一、基本操作题 1 【正确答案】 (1) 命令窗口执行: MODIFY DATABASE sport,打开数据库设计器。 右击数据库设计器中的 temp表,选择【删除】,在弹出的对话框中单击 “删除 ”按 钮,将 “temp”表永久性删除。 在数据库设计器中右击,选择【添加表】,在 “打开 ”对话框中双击 “金牌榜 ”表加到数据库中,以同样的方法将 “获奖牌情况 ”表和 “国家 ”表添加到数据库中。 (2) 在命令窗口输入如下代码,打开表设计器: USE金牌榜 MODI FY STRUC
6、TURE 在表设计器的 “字段 ”选项卡中选中 “金牌数 ”, “索引 ”列 “升序 ”排序方式,单击“确定 ”保存表结构修改。 (3) 命令窗口执行: MODIFY COMMAND one,打开程序文件编辑器。 在编辑器中输入如下程序代码: ALTER TABLE金牌榜 ADD奖牌总数工 CHECK奖牌总数 =0 命令窗口执行: DO one,执行程序文件。 (4) 在命令窗口执行命令: MODIFY COMMAND two,打开程序文件编辑器,输入如下程序代码: UPDATE金牌榜 SET奖牌总数 =金牌数 +银牌数 +铜牌数 在命令窗口执行命令: DO two,执行程序文件。 【试题解析
7、】 本题考查了数据库的基本操作;表索引的建立; SQL定义功能和操作功能。 利用 SQL表结构修改语句 ALTER TABLE,增加字段的关键字为 ADD;用SQL UPDATE语句可以更新表中记录。 二、简单应用题 2 【正确答案】 (1) 步骤 1:命令窗口执行: MODIFY COMMAND three,打开程序文件编辑器,输入如下程序代码 (以下程序是通过查询设计器生成 ): SELECT外汇代码外币代码 AS币种 1代码; 外汇代码 a外币代码 AS币种 2代码, 外汇汇 率买入价,外汇汇率卖出价; FROM外汇 !外汇代码 INNER JOIN外汇 !外汇汇率; INNER JOI
8、N外汇 !外汇代码外汇代码 a; ON 外汇汇率币种 2=外汇代码 a外币名称; N外汇代码外币名称 =外汇汇率币种 1; INTO ARRAY arr1 INSERT INTO RATE DBF FROM ARRAY arr1 步骤 2:命令窗口执行: DO three prg,执行程序文件。 (2) 步骤 1:命令窗口执行: OPEN DATABASE外汇 ,打开数据库环境。 步骤 2:命令窗口执行: CREATE QUERY four,打开查询设计器,在“添加表或视图 ”对话框中,分别双击 “外汇代码 ”表和 “外汇账户 ”表,添加到查询设计器中。 步骤 3:添加后,弹出 “联接条件 ”
9、对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”设置联系。 步骤 4:依次双击 “外汇代码 ”表中的 “外币名称 ”和 “外汇账户 ”表中的 “钞汇标志 ”、 “金额 ”字段,添加到 “字段 ”选项卡 的 “选定字段 ”列表中。 步骤 5:在 “筛选 ”选项卡的 “字段名 ”下拉列表中选择 “外汇代码外币名称 ”字段,在 “条件 ”下拉框中选择 “=”,在 “实例 ”框中输入 “日元 ”,在 “逻辑 ”下拉框中选择 “OR”;接着在第二行接着输入查询条件,在 “字段名 ”下拉列表中选择 “外汇代码外币名称 ”字段,在 “条件 ”下拉框中选择 “=”,在 “实例 ”框中输入 “欧元
10、 ”。 步骤 6:在 “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “外汇代码外币名称 ”字段,将字段添加到 “排序条件 ”列表框中,在 “排序选项 ”中选择 “升序 ”单选项;以同样 的方法再设置 “外汇账户金额 ”字段的降序。 步骤 7:执行【查询】 【查询去向】菜单命令,在弹出的 “查询去向 ”对话框中单击 “表 ”图标按钮,接着在 “表名 ”中输入文件名 “five”,单击 “确定 ”按钮。 步骤 8:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 【试题解析】 (1)本题考查的是 SQZ超链接查询。设计 SQL代码的关键是建立“外汇代码
11、 ”表中 “外币代码 ”与 “外汇汇率 ”表中 “币种 1”和 “币种 2”的联系。 由于输出结果的 “币种 1”和 “币种 2”需要用 相应的 “外币代码 ”表示, “外汇代码 ”表中的 “外币代码 ”只能利用一次,即替换 “币种 1”或 “币种 2”中的币种名称,这样没有被替换的币种仍然是中文币种名称,因此需要将 “外汇代码 ”表利用两次,两个表中的 “外币代码 ”分别替换 “外汇汇率 ”表中 “币种 1”和 “币种 2”的中文币种名,被两次引用的表名要在原表名后再加 “a”进行区分。 三个表的联接条件分别是 “外汇代码外币名称 =外汇汇率币种 1”和 “外汇汇率币种 2=外汇代码 a外币
12、名称 ”。查询输出的字段名可以通过 AS短语重新指定名称。 另外,查询结果要求保存到 数据库表,因此要将结果保存到数组中,然后再通过数组将记录插入到表中 (2)本题考查的是在查询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个表;查询条件在 “筛选 ”选项卡中设置;排序在 “排序依据 ”选项卡中设置;查询去向可通过执行 【查询】 【查询去向】菜单命令,在 “查询去向 ”对话框中进行操作。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: CREATE FORM test,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加一个标签、一个文本框和两 个命
13、令按钮。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 3 15。 步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“查询 ”按钮的 Click事件代码 * dd=Alltrim(ThisForm Text1 Value) SELECT客户客户号,客户身份证, 客户姓名,客户工作单位,入住客房 号,房价类型名,房价价格; FROM 客户 INNER JOIN入住; INNER JOIN客房; INNER JOIN房价; ON房价类型号;客房类型号; ON客房客房号 =入住客房号; ON客户客户号 =入住客户号
14、; WHERE入住退房日期 =CTOD(dd); ORDER BY房价价格 DESC; INTO TABLE tabd dbf *“退出 ”按钮的 Click事件代码 * THI SFORM RELEASE 步骤4:单击 “常用 ”工具栏中的 “运行 ”按钮,在文本框中输入日期: 2005-04-01,单击“查询 ”按钮。最后将表单文件保存到考生文件夹下。 【试题解析】 本题主要考查了表单及控件 的常用属性和方法的设置; SQL超联接查询。 对于 SQL不熟悉的考生,可借助查询设计器完成本题的 SQL查询,需要注意的是,在设置筛选条件时,由于文本框中显示的是字符型数据,而 “退房日期 ”是日期型数据,因此,要将文本框的数据类型通过 CTOD()函数转换戍日期型函数,通过 VALUE属性可以获得丈本框中的数据。