1、国家二级 VF 机试-试卷 202 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)新建一个名为“学生”的数据库。 (2)将“学生”、“选课”、“课程”三个自由表添加到新建的数据库“学生”中。 (3)通过“学号”字段为“学生”表和“选课”表建立永久联系。 (4)为上面建立的联系设置参照完整性约束:更新和删除规则为“级联”,插入规则为“限制”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)建立一个文件名和表单名均为 two 的表单,然后
2、为表单 two 建立一个名为 quit 的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句 Thisformrelease)最后向表单中添加一个命令按钮(Command1),并在该命令按钮的 Click 事件中写一条调用新方法 quit 的语句。 (2)使用 SQL 语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。 注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。(分数:2.00)_
3、三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.考生文件夹下存在数据库“学籍”,其中包含 course 和 scorc 表,这两个表存在一对多的联系。 对“学籍”数据库建立文件名为 form2 的表单,表单标题为“课程成绩查看”,其中包含两个表格控件。第一个表格控件用于显示“课程”表的记录,第二个表格控件用于显示与“课程”表当前记录对应的“成绩”表中的记录。 表单中还包含一个标题为“退出”的命令按钮,要求单击此按钮退出表单,如图 1-1 所示。(分数:2.00)_国家二级 VF 机试-试卷 202 答案解析(总分:12.00,做题时间:90 分钟)一、基本
4、操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)新建一个名为“学生”的数据库。 (2)将“学生”、“选课”、“课程”三个自由表添加到新建的数据库“学生”中。 (3)通过“学号”字段为“学生”表和“选课”表建立永久联系。 (4)为上面建立的联系设置参照完整性约束:更新和删除规则为“级联”,插入规则为“限制”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE 学生 ,新建数据库并打开数据库设计器。 (2)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击“学生”表,将表添加
5、到数据库中,以同样的方法将“选课”和“课程”表添加到数据库中。 (3)右击数据库设计器中的“学生”表,选择【修改】快捷菜单命令,打开“学生”表设计器,在“字段”选项卡中选中“学号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引类型”为主索引,建立“学号”字段的主索引,单击“确定”按钮保存表结构修改。 参照“学生”表的操作建立“选课”表“学号”字段的普通索引。 (4)在数据库设计器中拖动“学生”表“索引”下方的主索引“学号”到“选课”表中“索引”下方的普通索引“学号”上,为两个表建立联系。 选中两个表之间的关联线(被选中的连线会变粗),首先执行【数据库】【清理数据库】菜单命令,清
6、空数据表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“级联”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。)解析:解析:本题考查了数据库和表的基本操作;建立表间联系及参照完整性的设置。 为数据库添加表可以在数据库设计器中进行;参照完整性是针对两个表进行设置的,因此建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。二、简单应用题
7、(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)建立一个文件名和表单名均为 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)
9、,双击命令按钮,编写该按钮的 Click 事件代码: THISFORMQUIT 。 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 (2)在命令窗口执行如下 SQL,命令语句执行查询: SELECT 歌手表歌手姓名,MAX(评分表分数)AS 最高分; MIN(评分表分数) AS 最低分,AVG(评分表分数)AS 平均分; FROM 大奖赛!歌手表 INNER JOIN 大奖赛!评分表; ON 歌手表歌手编号=评分表歌手编号; GROUP BY 歌手表歌手姓名; ORDER BY 4 DESC; INTO TABLE result (注意:以上 SQL 查询
10、语句是通过查询设计器生成,大家也可以直接在查询设计器中完成查询。)解析:解析:(1)本题考查的是表单方法的创建。在 visual FoxPro 中,用户首先应打开“新建方法程序”对话框定义新方法名;然后在“属性”面板中定义找到该方法并编写该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。 (2)本题主要考查了 SQL 分组与计算查询。本题的关键首先是要确定进行计算的字段有哪些、进行何种计算,然后判断根据哪个字段进行分组。根据题目要求,在输出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均分都需要根据“分数”字段生成,分别使用计算函数 MAX()、
11、MIN()和 AVG()。 由于是求每个歌手的最高分、最低分和平均分,因此,可以根据“歌手姓名”字段进行分组计算。 对于 SQL 语句不太熟悉的考生,也可以借助查询设计器生成本题的 SQL 语句。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.考生文件夹下存在数据库“学籍”,其中包含 course 和 scorc 表,这两个表存在一对多的联系。 对“学籍”数据库建立文件名为 form2 的表单,表单标题为“课程成绩查看”,其中包含两个表格控件。第一个表格控件用于显示“课程”表的记录,第二个表格控件用于显示与“课程”表当前记录对应的“成绩”表中的记录。
12、 表单中还包含一个标题为“退出”的命令按钮,要求单击此按钮退出表单,如图 1-1 所示。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORM form2 ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加两个表格控件和一个命令按钮控件。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值。如图 2-6 所示;表单及控件属性设置,见表 2-1。 步骤 3:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中双击 course 和 score 表,
13、将表添加到表单的数据环境中。 步骤 4:右击第一个表格(Crid1)选择【生成器】快捷菜单命令,在“表格项”选项卡中,单击“数据库和表”下方的按钮打开,在弹出的“打开”对话框中选择 course 表,将“可用字段”中的字段全部添加到“选定字段”中,单击“确定”按钮;以同样的方法为第二个表格(Grid2)设置score 表中的字段。如图 2-7 所示。 步骤 5:双击“退出”命令按钮(Comnmnd1),在 Click 事件中编写程序代码: THISFORMRELEASE 。 步骤 6:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 )解析:解析:本大题考查了表单及控件基本属性的设计,如果要将表格控件与数据表内容相合,首先要将数据表添加到表单的数据环境中,然后利用表格生成器建立表格与数据表的联系,如果在数据库中的两个表已存在永久性联接,那么被添加到表单数据环境中的表也会存在这种联系。