1、国家二级 VF 机试(操作题)-试卷 18 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)建立一个“客户”表,表结构如下: 客户编号 C(8) 客户名称 C(8) 联系地址 C(30) 联系电话 C(11) 电子邮件 C(20) (2)建立一个“客户”数据库,并将“客户”表添加到该数据库中。 (3)将如下记录插入到“客户”表中。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)建立一个文件名和表单名均为 two 的表单,然后为表单 two 建立一个名为 quit 的新方法(单击选择表单后,从“表单”菜单中选择“
2、新建方法程序”命令),并在该方法中写一条语句Thisformrelease;最后向表单中添加一个命令按钮(Command1),并在该命令按钮的 Click 事件中写一条调用新方法 quit 的讯句。 (2)使用 SQL 语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。 注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.打开表单文件 sapp,并完成如下操作(不
3、得有多余操作): 将“课程”表添加到表单的数据环境中。 使列表框 List1 中的数据项为“课程”表中的课程名(课程课程名)。 单击列表框中的数据项时,统计选修了所选课程的学生人数(从“考试成绩”表),并将结果存储在以课程名命名的表中,表中只有一个字段“人数”。 添加一个命令按钮 Command1,单击该按钮时关闭表单。 说明:完成该程序后必须运行,并且分别统计选修了“数据库”和“操作系统”课程的学生人数。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 18 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)建立一个“客户”表,表结
4、构如下: 客户编号 C(8) 客户名称 C(8) 联系地址 C(30) 联系电话 C(11) 电子邮件 C(20) (2)建立一个“客户”数据库,并将“客户”表添加到该数据库中。 (3)将如下记录插入到“客户”表中。 (分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令:CREATE 客户,打开表设计器新建表(注意:当前没有打开的数据库)。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度(注意:字母 C 表示为字符型数据),然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”,单击“是”按钮。 (2)接上小题操作,在弹出的输入表记录界面
5、中输入题中所要求的记录,输入完毕后直接记录输入界而。 (3)在命令窗口执行命令:MODIFY DATABASE 客户,新建数据库并打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击“客户”表,将表添加到数据库中。 (4)执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 在报表向导的“步骤 1-字段选取”界面的“数据库和表”下选中“客户”表,将“可用字段“中全部字段添加到“选定字段
6、”中,直接单击“完成”按钮进入向导最后一个界面。 在报表向导的“步骤 6-完成”界面的“报表标题”框中输入“客户”,单击“完成”按钮,在“另存为”对话框的“保存报表为:”框中输入报表文件名“客户”,单击“保存”按钮。)解析:解析:本题考查了表的基本操作;数据库的基本操作;报表向导的使用。 建立自由表可以在表设计器中进行,注意建立自由表前要先关闭所有打开的数据库,否则所建立的数据表可能是数据库表;将数据表添加到数据库中可以在数据库设计器中操作;报表向导操作比较简单,启动报表向导后,在各向导提示界面完成相应的操作即可。二、简单应用题(总题数:1,分数:2.00)2.(1)建立一个文件名和表单名均为
7、 two 的表单,然后为表单 two 建立一个名为 quit 的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisformrelease;最后向表单中添加一个命令按钮(Command1),并在该命令按钮的 Click 事件中写一条调用新方法 quit 的讯句。 (2)使用 SQL 语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。 注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。
8、(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:命令窗口执行: CREATE FORM two ,打开表单设计器新建表单。 步骤 2:执行【表单】【新建方法程序】菜单命令,在“新建方法程序”对话框的“名称”文本框中输入“quit”,单击“添加”按钮新增方法,然后关闭对话框。 步骤 3:在“属性”窗口中双击 quit 方法,打开用户自定义过程代码框输入: THISFORMRELEASE 。 步骤 4:通过“表单控件”工具栏向表单添加一个命令按钮(Command1),双击命令按钮,编写该按钮的 Click 事件代码: THISFORMQUIT 。 步骤5:单击“常用”工具栏中的“运行”
9、按钮查看结果,将表单文件保存到考生文件夹下。 (2) 在命令窗口执行如下 SQL 命令语句执行查询: 1 SELECT。歌手表歌手姓名,MAX(评分表分数)AS 最高分,; 2 MIN(评分表分数)AS 最低分,AVG(评分表分数)AS 平均分; 3 FROM 大奖赛!歌手表 INNER JOIN 大奖赛!评分表; 4 ON 歌手表歌手编号=评分表歌手编号; 5 GROUP BY 歌手表歌手姓名; 6 ORDER BY 4 DESC ; 7 TNTO TARLE result (注意:以上 SQL 查询语句是通过查询设计器生成,大家也可以直接在查询设计器中完成查询。)解析:解析:(1)本题考查
10、的是表单方法的创建。在 Visual FoxPro 中,用户首先应打开“新建方法程序”对话框定义新方法名;然后在“属性”面板中定义找到该方法并编写该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。 (2)本题主要考查了 SQL 分组与计算查询。本题在输出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均分都需要根据“分数”字段生成,分别使用计算函数 MAX()、MIN()和 AVG()。由于是求每个歌手的最高分、最低分和平均分,可以根据“歌手姓名”字段进行分组计算。 也可以借助查询设计器生成本题的 SQL 语句。三、综合应用题(总题数:1,分数:2
11、.00)3.打开表单文件 sapp,并完成如下操作(不得有多余操作): 将“课程”表添加到表单的数据环境中。 使列表框 List1 中的数据项为“课程”表中的课程名(课程课程名)。 单击列表框中的数据项时,统计选修了所选课程的学生人数(从“考试成绩”表),并将结果存储在以课程名命名的表中,表中只有一个字段“人数”。 添加一个命令按钮 Command1,单击该按钮时关闭表单。 说明:完成该程序后必须运行,并且分别统计选修了“数据库”和“操作系统”课程的学生人数。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: OPEN DATABASE 学生管理 ,打开“学生管理”数据库环境。
12、 步骤 2:命令窗口执行: MODIFY FORM sapp ,修改 sapp 表单。右击表单选择【数据环境】,在表单数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击“课程”,将表添加到数据环境中。 步骤 3:修改列表框(List1)的“RowSource Type”属性值为:6-字段;再修改“RowSource”属性值为:课程课程名。 步骤 4:列表框(List1)Click 事件代码如下: *列表框(List1)的 Click 事件代码* aa=课程课程名 SELECT COUNT(*)AS 人数 FROM 考试成绩; WHERE 考试成绩课程编号=课程课程编号; INTO
13、TABLE &aa 步骤 5:通过“表单控件”工具栏向表单添加一个命令按钮,编写按钮的 Click 事件代码: THISFORMRELEASE 。 步骤 6:单击“常用”工具栏中的“运行”按钮查看结果,并分别单击“数据库”和“操作系统”,生成表文件。)解析:解析:本题考查了表单及控件的常用属性和方法的设置;SQL 简单的计算查询。 本题关键是怎样获取列表框所选条目的值。由于已经将“课程”表添加到数据环境中,当表单运行时,“课程”被打开,其所在工作区即成为当前工作区,又因为列表框中数据与“课程”表的“课程名”字段绑定,所以列表框中所选条目的值,等于“课程”表当前记录的“课程名”的值。再利用 SQL 计算查询,在“考试成绩”表中查找并统计列表框中被选定条目(即课程名)的“选课人数”,利用 COUNT()计数函数可以统计“人数”。进行 SQL 语句设计时,因为“考试成绩”表中没有“课程名”字段,但题目给出的筛选条件是根据“课程名”进行统计选修课程的学生人数,所以可以将查找条件设置为“考试成绩”表的“课程号”与“课程”表当前记录(即列表框中被选课程名对应的记录)的“课程号”相等为条件,进行查询统计的操作。