1、国家二级 VF 机试(操作题)-试卷 161 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)新建一个数据库 mydatabase,在库中建立数据库表 temp,表内容和结构与当前文件夹下的“歌手信息“表完全相同。(2)建立快捷菜单 mymenu,快捷菜单有两条命令:“打开文件“和“关闭文件“。(3)使用报表向导建立一个报表,报表的数据来源分别是“打分表“(父表)和“歌手信息“(子表)两个数据库文件,选取这两个表的全部字段,连接字段为“歌曲编号“,按“分数“升序排列,报表的标题为“打分一览表“,最后将报表保存为“打分表“。(4)使用 SQ
2、L 命令将表 temp 中歌手编号为 111 的歌手的年龄修改为 20 岁,命令存储在 mypro.prg 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成下列操作:(1)修改程序 proone.prg 中带有注释的四条语句(修改或填充,不要修改其他的语句),使之能够正常运行,程序的功能是将大于等于 11 并且小于等于 2011 的素数存储于表prime 中。修改完成后请运行该程序。(2)编写 SQL 命令查询歌手平均分大于 8.2 的歌手的姓名、歌手编号和平均分,查询结果存储于 result.dbf 中(字段名依次为姓名、歌手编号和平均分),结果按歌
3、手的平均分降序排列。SQL 命令要保存在 ttt.prg 文件中。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作:(1) 打开数据库文件 mydatabase,为表 temp 建立主索引:索引名和索引表达式均为“歌手编号“。(2)利用表 temp 建立一个视图 myview,视图中的数据满足以下条件:年龄大于等于 28 岁并且按年龄升序排列。(3)建立一个名为 staff 的新类,新类的父类是 CheckBox,新类存储于名为 myclasslib 的类库中。(4)数据库“比赛情况“中有 3 个数据库表:打分表、歌手信息和选送单位。建立包括 4
4、个标签、一个列表框(List1)和 3 个文本框的表单 myform,其中Label1、Label2、Label3、Label4 的标题依次为选送单位、最高分、最低分和平均分;文本框Text1、Text2、Text3 依次用于显示最高分、最低分和平均分,如下图所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 161 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)新建一个数据库 mydatabase,在库中建立数据库表 temp,表内容和结构与当前文件夹下的“歌手信息“表完全相同。(2)建立快捷菜单 mymenu,快捷菜单有
5、两条命令:“打开文件“和“关闭文件“。(3)使用报表向导建立一个报表,报表的数据来源分别是“打分表“(父表)和“歌手信息“(子表)两个数据库文件,选取这两个表的全部字段,连接字段为“歌曲编号“,按“分数“升序排列,报表的标题为“打分一览表“,最后将报表保存为“打分表“。(4)使用 SQL 命令将表 temp 中歌手编号为 111 的歌手的年龄修改为 20 岁,命令存储在 mypro.prg 中。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)通过“新建“对话框新建一个数据库文件 mydatabase,在打开的数据库空白处单击鼠标右键,选择“新建表“命令,输入表名“temp“, 在
6、打开的表设计器中设计表结构如下: )解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成下列操作:(1)修改程序 proone.prg 中带有注释的四条语句(修改或填充,不要修改其他的语句),使之能够正常运行,程序的功能是将大于等于 11 并且小于等于 2011 的素数存储于表prime 中。修改完成后请运行该程序。(2)编写 SQL 命令查询歌手平均分大于 8.2 的歌手的姓名、歌手编号和平均分,查询结果存储于 result.dbf 中(字段名依次为姓名、歌手编号和平均分),结果按歌手的平均分降序排列。SQL 命令要保存在 ttt.prg 文件中。(分数:2.00)_正确
7、答案:(正确答案:【操作步骤】 (1)单击常用工具栏“打开“按钮,打开考生文件夹下的程序文件“proone.prg“,修改如下: 第一处错误:create prime(dat f) 修改为:create table prime(dat f) 第二处填入:loop 第三处填入:exit 第四处错误: insert prime values(n) 修改为:insert into prime values(n) 保存对程序的修改然后运行。 (2)步骤 1:在命令窗口输入命令如下,然后按回车执行:SELECT 歌手信息.姓名, 歌手信息.歌手编号, avg(分数) as 平均分; FROM 打分表 I
8、NNER JOIN 歌手信息 ; ON 打分表.歌手编号 = 歌手信息.歌手编号; GROUP BY 歌手信息.歌手编号 having 平均分8.2; ORDER BY 平均分 DESC; INTO DBF result 步骤 2:新建一个程序文件“ttt.prg“,将该语句复制到程序文件中,保存程序。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作:(1) 打开数据库文件 mydatabase,为表 temp 建立主索引:索引名和索引表达式均为“歌手编号“。(2)利用表 temp 建立一个视图 myview,视图中的数据满足以下条件:年龄大于等于 28 岁并
9、且按年龄升序排列。(3)建立一个名为 staff 的新类,新类的父类是 CheckBox,新类存储于名为 myclasslib 的类库中。(4)数据库“比赛情况“中有 3 个数据库表:打分表、歌手信息和选送单位。建立包括 4 个标签、一个列表框(List1)和 3 个文本框的表单 myform,其中Label1、Label2、Label3、Label4 的标题依次为选送单位、最高分、最低分和平均分;文本框Text1、Text2、Text3 依次用于显示最高分、最低分和平均分,如下图所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)单击常用工具栏“打开“按钮,打开考生文件夹下
10、的数据库“mydatabase“。右键单击学生表“temp“,选择“修改“命令。在打开的表设计器中,单击“索引“选项卡,输入索引名“歌手编号“,类型设为“主索引“,索引表达式为“歌手编号“。单击“确定“按钮保存对表的修改。 (2)在数据库“mydatabase“中,右键单击数据库空白处,选择“新建本地视图“命令,将“temp“表添加到新建的视图中。 步骤 2:在字段选项卡中,将所有字段添加到选定字段中。 步骤 3:在“筛选“选项卡中,设置条件“temp.年龄28“. 步骤 4:在“排序依据“选项卡中,设置按“年龄“升序排列。 步骤 5:保存视图并命名为 myview。 (3)步骤 1:通过“新
11、建“对话框新建一个“类“文件。 步骤 2:在弹出的“新建类“对话框中,输入“类名“staff,在“派生于“下拉列表中选择 CheckBox,单击“存储于“文本框后的按钮,在打开的“另存为“对话框选择考生文件夹,输入文件名 myclasslib,单击“确定“按钮。 (4)步骤 1:单击菜单栏“文件“-“新建“命令或单击常用工具栏“新建“按钮新建表单。 步骤 2:在打开的表单设计器中,根据题目要求,通过表单控件工具栏添加 4 个标签、一个列表框、3 个文本框。将 4 个标签控件的 caption 属性分别修改为“选送单位“、“最高分“、“最低分“和“平均分“。适当调整各控件的大小和布局。 (5)右
12、键单击表单空白处,选择“数据环境“命令,将“歌手信息“、“选送单位“和“打分表“三个表添加到数据环境中。然后选中列表框控件,将其 RowSource 属性设为“选送单位.单位名称“,RowSource Type 属性设为“6“。 (6)双击列表框控件,编写其 Dbclick 事件代码如下: danweimingcheng=thisform.List1.Value SELECT 单位名称,max(分数) as 最高分,min(分数) as 最低分,avg(分数) 平均分; FROM 比赛情况!打分表 INNER JOIN 比赛情况!歌手信息; INNER JOIN 比赛情况!选送单位 ; ON
13、歌手信息.选送单位号 = 选送单位.单位号 ; ON 打分表.歌手编号 = 歌手信息.歌手编号; GROUP BY 选送单位.单位号 where 单位名称= danweimingcheng into dbf two select 最高分 from two into array a thisform.text1.value=a select 最低分 from two into array b thisform.text2.value=b select 平均分 from two into array c thisform.text3.value=c 7.保存表单为 myform,并运行。在列表框中双击“空政文工团“,查看结果。)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1