1、国家二级 VF机试(操作题)模拟试卷 433及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作:(1)建一个数据库 mydatabase,在库中建立数据库表 temp,表内容和结构与当前文件夹下的“歌手信息”表完全相同。(2)立快捷菜单 mymenu,快捷菜单有两条命令:“打开文件”和“关闭文件”。注意要生成菜单程序文件。(3)使用报表向导建立一个报表,报表的数据来源分别是“打分表”(父表)和“歌手信息”(子表)两个数据库文件,选取这两个表的全部字段,连接字段为“歌手编号”,按“分数”升序排列,报表的标题为“打分一览表”
2、,最后将报表保存为“打分表”。(4)使用 SQL命令将表 temp中歌手编号为 111的歌手的年龄修改为 20岁,命令存储在 myproprg 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成下列操作:(1)修改程序 prooneprg 中带有注释的四条语句(修改或填充,不要修改其他的语句),使之能够正常运行,程序的功能是将大于等于 1 1并且小于等于 2011的素数存储于表 prime中。修改完成后请运行该程序。(2)编写 SQL命令查询歌手平均分大于 82 的歌手的姓名、歌手编号和平均分,查询结果存储于 resultdbf 中(字段名依次为姓名、歌
3、手编号和平均分),结果按歌手的平均分降序排列。SQL 命令要保存在 tttprg 文件中。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作:(1)打开数据库文件 mydatabase,为表 temp建立主索引:索引名和索引表达式均为“歌手编号”。(2)利用表 temp建立一个视图 myview,视图中的数据满足以下条件:年龄大于等于 28岁并且按年龄升序排列。(3)建立一个名为 staff的新类,新类的父类是 CheckBox,新类存储于名为 myclasslib的类库中。(4)数据库“比赛情况”中有 3个数据库表:打分表、歌手信息和选送单位。建立
4、包括 4个标签、一个列表框( List1)和 3个文本框的表单 myform,其中Labe11、Labe12、Labe13、Labe14 的标题依次为选送单位、最高分、最低分和平均分;文本框Textl、Text2、Text3 依次用于显示最高分、最低分和平均分,如图 3-11所示。 (分数:2.00)_国家二级 VF机试(操作题)模拟试卷 433答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作:(1)建一个数据库 mydatabase,在库中建立数据库表 temp,表内容和结构与当前文件夹下的“歌手信息”表完全相同。(2
5、)立快捷菜单 mymenu,快捷菜单有两条命令:“打开文件”和“关闭文件”。注意要生成菜单程序文件。(3)使用报表向导建立一个报表,报表的数据来源分别是“打分表”(父表)和“歌手信息”(子表)两个数据库文件,选取这两个表的全部字段,连接字段为“歌手编号”,按“分数”升序排列,报表的标题为“打分一览表”,最后将报表保存为“打分表”。(4)使用 SQL命令将表 temp中歌手编号为 111的歌手的年龄修改为 20岁,命令存储在 myproprg 中。(分数:2.00)_正确答案:(正确答案:(1)建立数据库可以使用菜单命令完成,选择“文件”菜单下的“新建”子菜单,弹出“新建”对话框,文件类型选择“
6、数据库”。 单击“新建文件”图标按钮,弹出“创建”对话框,输入数据库文件名:mydatabase,保存到考生文件夹下。 在命令窗口中输入命令: use 歌手信息 copy to temp 单击数据库设计器工具栏里面的“添加表”按钮,弹出“打开”对话框,找到并打开temp表,完成 temp添加到数据库的操作。 (2)建立菜单可以使用菜单命令完成,选择“文件”菜单下的“新建”子菜单,弹出“新建”对话框,文件类型选择“菜单”。 单击“新建文件”图标按钮,弹出“新建菜单”对话框,单击“快捷菜单”图表按钮,打开菜单设计器。 在菜单设计器中输入两个菜单项“打开文件”和“关闭文件”。 单击菜单工具栏的“保存
7、”按钮,弹出另存为对话框,输入菜单文件名:mymenu mnx,保存到考生文件夹。 单击“菜单”菜单中的“生成”子菜单,弹出“生成菜单”对话框,保存到考生文件夹下,单击“生成”按钮完成菜单程序文件的生成。 (3)启动报表向导可以通过菜单命令来完成,选择“文件”菜单项下面的“新建”子菜单,打开“新建”对话框,文件类型选择报表,单击“向导”图标按钮。 弹出“向导选取”对话框,选择“一对多报表向导”,如图 468所示,然后单击“确定”按钮。 弹出“一对多报表向导”的步骤 1,选择父表和字段,单击“数据库和表”后面的“浏览”按钮,找到并打开“打分表”,然后选择该表的所有字段到“选定字段”,如图 469
8、所示。 单击“下一步”按钮,进入步骤 2选择子表和字段,单击“数据库和表”后面的“浏览”按钮,找到并打开“歌手信息”,然后选择该表的所有字段到“选定字段”。 单击“下一步”按钮,进入步骤 3设置表间连接,采用默认值不需要修改。 单击“下一步”按钮,进入步骤 4设置排序,选取“分数”字段,排序为升序。 单击“下一步”按钮,进入步骤 5选择报表样式,保留默认设置。单击“下一步”按钮,进入步骤 6,设置“报表标题”为:打分一览表,如图 470所示。 )解析:解析:本大题考查了数据库的建立、菜单设计、报表的设计和 SQL命令。 使用报表向导建立报表,按照向导的要求一步一步地设置报表参数,使用起来非常方
9、便。 本题的 SQL查询很简单,表 temp中歌手编号为 111的歌手的年龄修改为 20岁,使用 SQL的 UPDATE命令,SQL 为:update temp set 年龄=20 where歌手编号=111。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成下列操作:(1)修改程序 prooneprg 中带有注释的四条语句(修改或填充,不要修改其他的语句),使之能够正常运行,程序的功能是将大于等于 1 1并且小于等于 2011的素数存储于表 prime中。修改完成后请运行该程序。(2)编写 SQL命令查询歌手平均分大于 82 的歌手的姓名、歌手编号和平均分,查询结果存储于 r
10、esultdbf 中(字段名依次为姓名、歌手编号和平均分),结果按歌手的平均分降序排列。SQL 命令要保存在 tttprg 文件中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开 prooneprg 程序,根据题目要求修改程序中的错误语句: 第一个注释处应改为:create table prime(dat f) 第二个注释处应补充:loop 第三个注释处应补充:exit 第四个注释处应改为:insert into prime values(n) SQL 语句。 (2)步骤 1:选择“文件”菜单下的“新建”子菜单,弹出“新建”对话框,文件类型选择“程序”。 步骤 2:单击“新建文
11、件”图标按钮,打开程序编辑界面,把步骤 1里面的命令赋值到代码编辑区。 步骤 3:在代码编辑区输入如下命令代码: SELECT 歌手信息姓名,歌手信息,歌手编号,avg(分数)as 平均分; FROM 打分表 INNER JOIN歌手信息; ON 打分表歌手编号=歌手信息歌手编号; GROUP BY 歌手信息歌手编号 having平均分82; ORDER BY 平均分 DESC; INTO DBF result 步骤 4:单击菜单栏的的“保存”按钮,弹出“另存为”对话框,输入程序文件名:ttt prg,保存到考生文件夹。 步骤 5:执行程序。 程序的建立与使用和 SQL。)解析:解析:(1)本
12、题考查了 SQL语句。 第一个注释处是建立 table表,因此需要使用 SQL的 CREATE TABLE命令:第二个注释处继续 do while循环,使用关键字 loop继续循环:第三个注释处是需要跳出循环,使用 exit:最后一个注释处是插入满足条件的数据到数据表中,使用 INSERT INTO命令。 (2)本题考查 SQL查询的使用。 题目要求命令查询歌手平均分大于 82 的歌手的姓名、歌手编号和平均分,查询结果存储于 resultdbf 中,并且结果按歌手的平均分降序排列。因此 SQL需要查询“打分表”和“歌手信息”两个表,连接关系是:打分表歌手编号=歌手信息,歌手编号,筛选条件是:平
13、均分82。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作:(1)打开数据库文件 mydatabase,为表 temp建立主索引:索引名和索引表达式均为“歌手编号”。(2)利用表 temp建立一个视图 myview,视图中的数据满足以下条件:年龄大于等于 28岁并且按年龄升序排列。(3)建立一个名为 staff的新类,新类的父类是 CheckBox,新类存储于名为 myclasslib的类库中。(4)数据库“比赛情况”中有 3个数据库表:打分表、歌手信息和选送单位。建立包括 4个标签、一个列表框( List1)和 3个文本框的表单 myform,其中Labe11、La
14、be12、Labe13、Labe14 的标题依次为选送单位、最高分、最低分和平均分;文本框Textl、Text2、Text3 依次用于显示最高分、最低分和平均分,如图 3-11所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在数据库设计器中,选择 temp表,在 temp表上单击鼠标右键,弹出快捷菜单,选择“修改”子菜单,打开表设计器。 步骤 2:选择“索引”选项卡,在索引名处输入:歌手编号,类型选择为“主索引”,表单式为:歌手编号。 步骤 3:单击“确定”按钮完成索引的创建,回到数据库设计器界面。 步骤 4:在命令窗口执行命令创建视图: CREATE VIEW, 弹出“添加表或视
15、图”对话框,选择 temp表,然后单击“添加”按钮完成数据表的添加,然后单击“关闭”按钮,进入视图设计器,如图 471所示。 步骤 7:选择“排序依据”选项卡,选择“Temp年龄”单击“添加”按钮添加到“排序条件”中,“排序选择”选择“升序”,如图 472所示。 步骤 5:打开“字段”选项卡,单击“全部添加”按钮,把 temp表的所有字段添加到“选定字段”。 步骤 6:选择“筛选”选项卡,“字段名”选择“Temp年龄”,“条件”选择“=”,“实例”中输入“28”。 步骤 8:单击菜单栏的“保存”按钮,弹出“另存为”对话框,输入视图文件名:myview,保存到考生文件夹。 步骤9:点菜单栏上的“
16、新建”按钮,弹出“新建”对话框,选择“类”单选按钮。 步骤 10:单击“新建文件”图标按钮,在弹出的“新建类”对话框中,类名为设置为“staff”,派生于选择 CheckBox,存储于输入 myclasslib,如图 473所示。 步骤 11:单击“确定”按钮进入类设计器,单击菜单栏的“保存”按钮。 步骤 12:在命令窗口输入命令建立表单: CREATE FORMmyform, 并打开表单设计器。 步骤 13:为表单添加数据库环境,在“显示”菜单下选择“数据环境”子菜单,弹出“添加表或视图”对话框,单击“其他”按钮,弹出“打开”对话框找到并打开“选送单位”表,单击“关闭”按钮关闭该对话框。 步
17、骤 14:在表单生添加 4个标签、1 个列表框和 3个文本框,分别设置属性如表 416所示,并进行适当布置和大小调整。 )解析:解析:本大题考查了索引的建立、视图的设计和使用、自定义类的设计、表单的设计和使用。 本题的 SQL查询比较复杂,题目要求表单运行时,用户双击列表框中选项时,将该选送单位的“单位名称”、“最高分”、“最低分”和“平均分”四个字段的信息存入自由表 two dbf 中,因此 SQL查询的时候需要使用 max、min、avg 函数,查询是在“打分表”、“歌手信息”和“选送单位”3 个表之间,因此需要设定连接条件。 在列表框的双击事件代码过程中,定义一个变量保存列表框的选定值,在 SQL查询中可以使用该变量,用在筛选条件中。