1、国家二级 VF机试模拟试卷 29及答案与解析 一、基本操作题( 30分) 1 根据 score数据库,使用查询向导建立一个含有学生 “姓名 ”和 “出生日期 ”的标准查询 query31.qpr。 (2)从 score数据库中删除视图 newview。 (3)用 SQL命令向 score1表插入一条记录:学号为 “993503433”、课程号为“0001”、成绩为 “99”。 (4)打开表单 myform34,向其中添加一个 “关闭 ”命令按钮 (名称为 Command1),单击此按钮关闭表单 (不可以有多余的命令 )。 二、简单应用题( 40分) 2 在考生文件夹下完成如下简单应用: (1)
2、用 SQL语句完成下列操作:列出 “林诗因 ”持有的所有外币名称 (取自 rate_ exchange表 )和持有数量 (取自 currency_s1表 ),并将检索结果按持有数量升序排序存放于表 rate_ temp 中,同时将你所使用的 SQL语句存放于新建的文本文件 rate. txt中。 (2)使用一对多报表向导建立报表。要求:父表为 rate exchange,子表为 currency_s1,从父表中选择字段 “外币名称 ”:从子表中 选择全部字段;两个表通过“外币代码 ”建立联系;按 “外币代码 ”降序排序;报表样式为 “经营式 ”,方向为 “横向 ”,报表标题为 “外币持有情况
3、”;生成的报表文件名为 currency_ report。 三、综合应用题( 30分) 3 “学籍管理 ”数据库里有 “学生信息 ”、 “课程信息 ”和 “选课信息 ”三个表,建立一个名为 myv的 视图,该视图包含 “学号 ”、 “姓名 ”、 “课程名称 ”和 “成绩 ”4个字段。要求先按 “学号 ”升序排序,再按 “课程名称 ”升序排序。 建立一个名为 myf的表单,表单标题为 “学籍查询 ”,表单中含有一 个表格控件,该控件的数据源是前面建立的视图 myv。在表格控件下面添加一个命令按钮,该命令按钮的标题为 “关闭 ”,要求单击按钮时弹出一个对话框提问 “是否退出 ?”,运行时如果选择
4、“是 ”则关闭表单,否则不关闭。 国家二级 VF机试模拟试卷 29答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)选择 “文件 ”“新建 ”菜单命令,在弹出的 “新建 ”对话框中,选择 “查询 ”,单击 “向导 ”按钮,根据向导的提示,首先选择表 student 作为查询的数据源,然后选择 student 表的姓名、出生日期字段为选定字段, 连续单击下一步,直至 “完成 ”界面,单击 “完成 ”命令按钮,输入保存的查询名为 query31。 (2)在命令窗口输入命令: MODIFY DATABASE score,打开数据库设计器,在数据库设计器中的 “newview”视图上单击
5、右键,在弹出的菜单中选择 “删除 ”,并在弹出的对话框中选择 “移去 ”。 (3)在命令窗口输入如下命令,为 score1表增加一条记录。 INSERT INTO score1(学号,课程号,成绩 )VALUES(“993503433“,“0001“, 99) (4)打开表单 后,添加表单控件工具栏中的命令按钮到表单,在属性面板中修改该命令按钮的 Caption属性值为 “关闭 ”,双击该按钮,在 Click 事件中输入代码:Thisform. Release。 【试题解析】 本大题考查的主要是数据库和数据库表的一些基本操作,为数据表建立索引、增加字段和设置有效性规则都是在数据表设计器中完成的
6、,建立数据表之间的关联则是在数据库设计器中完成的。 二、简单应用题( 40分) 2 【正确答案】 (1)在命令窗口输入命令: MODIFY COMMAND query,打开程序编辑器,编写如 下程序段: *文件 query. prg中的程序段 * SELECT rate_ exchange.外币名称, currency_s1持有数量; FROM currency_s1 INNER JOIN rate_ exchange; ON currency_s1.外币代码 =rate_ exchange.外币代码; WHERE currency_ s1姓名 =“林诗因 ”; ORDER BY curren
7、cy_ sl持有数量; INTO TABLE rate_ temp. dbf * 在命令窗口输入命令: DO query,执行程序。 (2)利用菜单命令 “文件 ”“新建 ”,或从常用工具栏中单击新建按钮,在弹出的 “新建 ”对话框中选择 “报表 ”单选项,再单击 “向导 ”按钮,系统弹出 “向导选取 ”对话框,在列表框中选择 “一对多报表向导 ”,单击 “确定 ”按钮。选择 “一对多报表向导 ”后,系统首先要求选择一对多报表中作为父表的数据表文件。根据题意,选择 rate_ exchange 表作为父表,如图 3-94所示。从 “可用字段 ”列表框中将 “rate_ exchange.外币名
8、称 ”字段添加到右边的 “选定字段 ”列表框中,用做父表的可用字段。 图 3-94 单击 “下一步 ”设计子表的可用字段,操作方法与父表选取字段的方法一样,将 currency_s1表中的所有字段添加到 “选定字段 ”列表框中 。 单击 “下一步 ”进入 “建立表关联 ”的设计界面,在此处系统已经默认设置好进行关联的字段:父表的 “外币代码 ”和子表的 “外币代码 ”字段。 单击 “下一步 ”进入 “选择排序方式 ”的设计界面,将 “可用字段或索引标识 ”列表框中的 “外币代码 ”字段添加到右边的 “选定字段 ”列表框中,并选择 “降序 ”单选项。 单击“下一步 ”进入 “选择报表样式 ”的界
9、面,在 “样式 ”列表框中选择 “经营式 ”,在 “方向 ”选项组中选择 “横向 ”。 单击 “下一步 ”进入最后的 “完成 ”设计界面,在 “标题 ”文本框中输入 “外币持有情况 ”为报表添加标题,单击 “完成 ”命令按 钮,在系统弹出的 “另存为 ”对话框中,将报表以 currency_ report 文件名保存在考生文件夹下,退出报表设计向导。 【试题解析】 本大题 1小题考查的是 SQL多表联接查询,只需要注意每个表中字段的选取,以及每两个表之间进行关联的字段即可; 2小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。 三、综合应用题( 30分) 3 【正确答
10、案】 从菜单栏里单击 “文件 ”并选择 “打开 ”,或直接单击工具栏上的 “打开 ”图标,在弹出的对话框中选择要打开的数据库文件 “学籍管理 .dbc”。 在数据库设计器中,单击 “新建本地视图 ”按钮,在弹出的 “新建本地视图 ”对话框中,单击“新建视图 ”按钮,打开视图设计器,将 “课程信息 ”数据表、 “学生信息 ”数据表和“选课信息 ”数据表添加到视图设计器中,系统自动建立联接条件。根据题意,在视图设计器的 “字段 ”选项卡中,将 “可用字段 ”列表框中的字段 “学生信息学号 ”、“学生信息姓名 ”、 “课程信息课程名称 ”和 “选课信息 .成绩 ”添加到右边的 “选定字段 ”列表框里
11、中;在 “排序依据 ”选项卡中,依次选择 “学生信息学号 ”和 “课程信息课程名称 ”作为排序条件,并选择升序排充。 完成视图设计,将视图以 myv文件名保存在考生文件夹下。 从菜单栏里单击 “文件 ”并选择 “新建 ”,或直接单击工具栏上的 “新建 ”图标,在弹出的对话框中文件类型选择 “表单 ”,单击对话框右边的“新建文件 ”图标,弹出了 Form1的表单设计器,单击工具栏上的 “保存 ”图标,以myf 命名保存在考生文件夹下。 在表单设计器中,鼠标右键单击空白表单,选择“数据环境 ”快捷菜单命令,打开表单的数据环境,在 “选定 ”单选框中选择 “视图 ”,将视图文件 myv 添加到数据环
12、境中,将数据环境中的视图文件 myv 拖放到表单中,可看到在表单中出现 一个表格控件,此时实现了视图文件 “myv”的窗口式输入界面。 将表单的 Caption 属性值改为 “学籍查询 ”。最后在 “表单控件 ”工具栏中,选中命令按钮控件添加到表单中,在属性对话框修改该命令按钮的 Caption 属性值为“关闭 ”,双击该命令按钮,在 Click 事件中输入程序: “*命令按钮 Command1(关闭 )的 Click 事件代码 * giveup=MESSAGEBOX(“是否退出 ?”,36, “信息窗口 ”) IF giveup=6 &选择 “是 ”按钮,关闭表单 Thisform.Release ENDIF * 运行表单,查看运行结果,如图 3-92所示。 图 3-92 【试题解析】 本大题 1小题考查了视图的建立,利用 SQL 命令定义视图,要注意的是在定义视图之前,首先应该打开相应的数据库文件,因为视图文件是保存在数据库中,在磁盘上找不到该文件。 2小题考查的是根据表单向导生成联系多表的报表内容,利用向导时应注意父表和子表的选择。