1、国家二级 VF 机试(操作题)-试卷 78 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,完成如下操作:(1)将当前文件夹下的自由表 CLASS(班级表)和 TEACHER(教师表)添加到学生数据库 SDB 中。(2)为班级表 CLASS 创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表 TEACHER 创建一个主索引,索引名和索引表达式均为教师号。(3)通过“班级号“字段建立班级表 CLASS 和学生表 STUDENT 表间的永久联系。通过班级表 CL
2、ASS 的“班主任号“字段与教师表 TEACHER 的“教师号“字段建立班级表 CLASS 和教师表TEACHER 间的永久联系。(4)为以上建立的两个联系设置参照完整性约束:更新规则为“级联“;删除规则为“限制“;插入规则为“限制“。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 SDB,完成如下简单应用:(1)使用报表向导建立一个简单报表。要求选择 STUDENT 表中所有字段;记录不分组;报表样式为随意式;列数为 1,字段布局为“列“,方向为“纵向“;排序字段为“学号“(升序);报表标题为“学生基本情况一览表“;报表文件名为 TWO。(
3、2)使用查询设计器设计一个查询,查询每个班级的班级号、班级名、班长名和班主任名,查询结果按班级号升序排序,并输出到 ONE 表中。运行该查询,并将设计的查询保存为 ONE.QPR 文件。注意:表之间的关联,一个是STUDENT 表的学号与 CLASS 表的班长号,另一个是 CLASS 表的班主任号与 TEACHER 表的教师号;查询结果的各列的名称分别为班级号、班级名、班长名和班主任名。班长名列的数据来自于 STUDENT 表的姓名,班主任名列的数据来自于 TEACHER 表的教师名。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开学生数据库 SDB,完
4、成如下综合应用:设计一个表单名为 form 的表单,表单文件名为 THREE,表单的标题名为“学生基础信息浏览“。在表单的左上方有一个标签(Label1)标签上的文字为“班级号“;在标签的右边紧接着放置一个组合框控件(Combo1),将组合框控件的 Style 属性设置为“下拉列表框“,RowSourceType 属性设置为“字段“(用来选择 CLASS 表中的班级号);在组合框的右边紧接着放置一个“确认“命令按钮(Command2);在标签的下方放置一个表格控件(Grid1),将 RecordSourceType 属性设置为“4SQL 说明“;在表单的右下方放置一个“退出“命令按钮(Comm
5、and1)。表单界面如图所示。其他功能要求如下:(1)为表单建立数据环境,向数据环境添加 STUDENT 表(cursor1)和 CLASS 表(cursor2)。(2)程序运行时,在组合框中选择某个班级的班级号,单击“确认“按钮后在表格中显示该班级的学生信息。(3)单击“退出“按钮时,关闭表单。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 78 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,完成如下操作:(1)将当前文件夹下的自由表 CLASS(班级表)和 TEACHER(教师表)添加到学生数据库 SDB 中。(
6、2)为班级表 CLASS 创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表 TEACHER 创建一个主索引,索引名和索引表达式均为教师号。(3)通过“班级号“字段建立班级表 CLASS 和学生表 STUDENT 表间的永久联系。通过班级表 CLASS 的“班主任号“字段与教师表 TEACHER 的“教师号“字段建立班级表 CLASS 和教师表TEACHER 间的永久联系。(4)为以上建立的两个联系设置参照完整性约束:更新规则为“级联“;删除规则为“限制“;插入规则为“限制“。(分数:2.00)_正确答案:(正确答案:【操
7、作步骤】 (1)单击常用工具栏中的“打开“按钮,选择打开数据库 sdb,在打开的数据库设计器的空白处单击鼠标右键,选择“添加“命令,将自由表 class.dbf 和 teacher.dbf 添加到数据库中。 (2)步骤 1:在“数据库设计器-sdb“中,选择表“class“并单击鼠标右键,选择“修改“命令,在“表设计器-class.dbf“中,单击“索引“选项卡,然后输入索引名“班级号“,选择类型为“主索引“,表达式为“班级号“,再移到下一个索引项,输入索引名“班主任号“,选择类型为“普通索引“,表达式为“班主任号“,最后单击“确定“按钮,再单击“是(Y)“这样索引就建立了。 步骤 2:在“数
8、据库设计器-sdb“中,选择表“teacher“并单击鼠标右键,选择“修改“命令,在“表设计器-teacher.dbf“中,单击“索引“选项卡,然后输入索引名“教师号“,选择类型为“主索引“,表达式为“教师号“,最后单击“确定“按钮,再单击“是(Y)“就可以建立主索引了。 (3)步骤 1:在“数据库设计器-sdb“中,然后选择“class“表中主索引键“班级号“并按住不放,然后移动鼠标拖到“student“表中的索引键为“班级号“处,松开鼠标即可。 步骤 2:在“数据库设计器-sdb“中,然后选择“teacher“表中主索引键“教师号“并按住不放,然后移动鼠标拖到“class“表中的索引键为“
9、班主任号“处,松开鼠标即可。 (4)步骤 1:在已建立的永久性联系后,双击关系线,并显示“编辑关系“对话框。 步骤 2:在“编辑关系“对话框中,单击“参照完整性“按钮,并显示“参照完整性生成器“。 步骤 3:在“参照完整性生成器“对话框中,单击“更新规则“选项卡,并选择“级联“单选按钮,单击“删除规则“选项卡,并选择“限制“单选按钮,单击“插入规则“选项卡,并选择“限制“单选按钮,接着单击“确定“按钮,并显示“是否保存改变,生成参照完整性代码并退出?“,最后单击“是“按钮,这样就生成了指定参照完整性。 注意:可能会出现要求整理数据库,那么请整理后重新做操作。)解析:二、简单应用题(总题数:1,
10、分数:2.00)2.在考生文件夹下,打开学生数据库 SDB,完成如下简单应用:(1)使用报表向导建立一个简单报表。要求选择 STUDENT 表中所有字段;记录不分组;报表样式为随意式;列数为 1,字段布局为“列“,方向为“纵向“;排序字段为“学号“(升序);报表标题为“学生基本情况一览表“;报表文件名为 TWO。(2)使用查询设计器设计一个查询,查询每个班级的班级号、班级名、班长名和班主任名,查询结果按班级号升序排序,并输出到 ONE 表中。运行该查询,并将设计的查询保存为 ONE.QPR 文件。注意:表之间的关联,一个是STUDENT 表的学号与 CLASS 表的班长号,另一个是 CLASS
11、 表的班主任号与 TEACHER 表的教师号;查询结果的各列的名称分别为班级号、班级名、班长名和班主任名。班长名列的数据来自于 STUDENT 表的姓名,班主任名列的数据来自于 TEACHER 表的教师名。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:单击常用工具栏中的“新建“按钮,文件类型选择“报表“,利用向导创建报表。 步骤 2:在“向导选取“对话框中,选择“报表向导“并单击“确定“按钮,并显示“报表向导“对话框。 步骤 3:在“报表向导“对话框的“步骤 1-字段选取“中,首先要选取表“student“,在“数据库和表“列表框中,选择表“student“,接着在“
12、可用字段“列表框中显示表 student 的所有字段名,并选定所有字段名至“选定字段“列表框中,单击“下一步“按钮。 步骤 4:在“报表向导“对话框的“步骤 2-分组记录“中,单击“下一步“按钮。 步骤 5:在“报表向导“对话框的“步骤 3-选择报表样式“中,在“样式“中选择“随意式“,单击“下一步“按钮。 步骤 6:在“报表向导“对话框的“步骤 4-定义报表布局“中,在“列数“处选择为“1“,在“方向“处选择“纵向“,在“字段布局“处选择“列“,单击“下一步“按钮。 步骤 7:在“报表向导“对话框的“步骤 5-排序次序“中,选定“学号“字段并选择“升序“,再单击“添加“按钮,单击“完成“按钮
13、。 步骤 8:在“报表向导“对话框的“步骤 6-完成“中,在“报表标题“文本框中输入“学生基本情况一览表“,单击“完成“。 步骤 9:在“另存为“对话框中,输入保存报表名“two“,再单击“保存“按钮,最后报表就生成了。 (2)【操作步骤】 步骤 1:单击常用工具栏中的“新建“按钮,文件类型选择“查询“,打开查询设计器。 步骤 2:在“打开“对话框中,选择表“class.dbf“,再按“确定“按钮。 步骤 3:在“添加表或视图“对话框中,选择表“teacher“,再按“添加“按钮,再选择表“student“,再按“添加“按钮,接着删除“class“和“student“的关联,重新选择“stud
14、ent.学号“和“class.班长号“作为进行关联,接着按“关闭“按钮,关闭“添加表或视图“对话框。 步骤 4:在“查询设计器“窗口中,单击“字段“选项卡,选择“class.班级号“、“class.班级名“,在“函数和表达式“输入“student.姓名 AS 班长名“后,再单击“添加“按钮,在“函数和表达式“输入“teacher.教师名 AS 班主任名“后,再单击“添加“按钮。 步骤 5:在“查询设计器“窗口中,单击“排序依据“选项卡,选择字段“class.班级号“并在“排序选项“中选中“升序“,再单击“添加“按钮。 步骤 6:在“查询设计器“中,单击“查询查询去向“菜单项,并显示“查询去向“
15、对话框,在此对话框中,单击“表“按钮,接着在“表名“处输入表名“one“,单击“确定“按钮。 步骤 7:最后保存文件名为“one“并运行此查询。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开学生数据库 SDB,完成如下综合应用:设计一个表单名为 form 的表单,表单文件名为 THREE,表单的标题名为“学生基础信息浏览“。在表单的左上方有一个标签(Label1)标签上的文字为“班级号“;在标签的右边紧接着放置一个组合框控件(Combo1),将组合框控件的 Style 属性设置为“下拉列表框“,RowSourceType 属性设置为“字段“(用来选择 CLASS
16、表中的班级号);在组合框的右边紧接着放置一个“确认“命令按钮(Command2);在标签的下方放置一个表格控件(Grid1),将 RecordSourceType 属性设置为“4SQL 说明“;在表单的右下方放置一个“退出“命令按钮(Command1)。表单界面如图所示。其他功能要求如下:(1)为表单建立数据环境,向数据环境添加 STUDENT 表(cursor1)和 CLASS 表(cursor2)。(2)程序运行时,在组合框中选择某个班级的班级号,单击“确认“按钮后在表格中显示该班级的学生信息。(3)单击“退出“按钮时,关闭表单。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步
17、骤 1:单击常用工具栏中的“新建“按钮,文件类型选择“表单“,打开表单设计器。单击工具栏上“保存“按钮,在弹出“保存“对话框中输入“three“即可。 步骤 2:在“表单设计器“中,在“属性“的 Caption 处输入“学生基本信息浏览“,在 Name 处输入“form“。 步骤 3:在“表单设计器“中,添加一个标签 Label1,在其“属性“的 Caption 处输入“班级号“。 步骤 4:在“表单设计器“中,单击鼠标右键,在弹出菜单中选择“数据环境“,在“数据环境设计器-three.scx“中,在“打开“对话框中,选择“student.dbf“表,接着在“添加表或视图“的对话框中,双击表“
18、class“,再按“关闭“按钮,关闭“添加表或视图“对话框。 步骤 5:在“表单设计器“中,添加一个组合框控件 Combo1,在 Style 处选择“2-下拉列表框“,在 RowSourceType 处选择“6-字段“,在 RowSource 处选择“Class.班级号“。 步骤 6:在“表单设计器“中,添加一个表格控件 Grid1,在其“属性“的 RecordSourceType 处选择“4-SQL 说明“。 步骤7:在“表单设计器“中,添加两个命令按钮,在第 1 个命令按钮“属性“的 Caption 处输入“退出“,在第 2个命令按钮“属性“的 Caption 处输入“确认“。 步骤 8:在“表单设计器“中,双击“退出“命令按钮,在“Command1.Click“编辑窗口中输入“Thisform. Release“,接着关闭编辑窗口。 步骤 9:在“表单设计器“中,双击确认命令按钮,在“Command2.Click“编辑窗口中输入下述语句,接着关闭编辑窗口。 ThisForm.Grid1.RecordSource=“SELECT * FROM student WHERE 班级号=class.班级号 INTO CURSOR LSB“)解析:解析:利用表单设计器创建报表,依据题意添加各表单控件,设置表单及控件的相关属性和方法,编写相应的程序语言以实现表单功能。