1、国家二级 VF 机试(操作题)-试卷 288 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作:(1)打开项目文件 salary_p,将考生文件夹下的数据库 salary_db 添加到该项目中。(2)在 salary_db 数据库中为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号“;为 salarys 表创建一个普通索引(升序),索引名和索引表达式均是“部门号“,再创建一个主索引(升序)、索引名和索引表达式均是“雇员号“。(3)通过“部门号“字段建立 salarys 表和 dept 表间的永久联系
2、。(4)为以上建立的联系设置参照完整性约束:更新规则为“限制“;删除规则为“级联“;插入规则为“限制“。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用:(1)创建一个名称为 sview 的视图,该视图的 SELECT 语句根据salary_db 数据库中的 salarys 表(雇员工资表)进行查询,查询结果包括部门号、雇员号、姓名、工资、补贴、奖励、失业保险、医疗统筹和实发工资等字段,其中实发工资由工资、补贴和奖励三项相加,然后再减去失业保险和医疗统筹得出,结果按“部门号“降序排序,最后将定义视图的命令代码存放到命令文件T1.PRG 中并执行
3、该程序。(2)设计一个名称为 form1 的表单,表单以表格方式(与 BROWSE 窗口方式相似,表格名称为 grdSalarys)显示 salary_db 数据库中 salarys 表的记录,供用户浏览。在该表单的右下方有一个命令按钮,名称为 Command1,标题为“退出浏览“,当单击该按钮时退出表单。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,对数据库 salary_db 完成如下综合应用:设计一个名称为 form2 的表单,在表单上设计一个“选项组“(又称选项按钮组,名称为 Optiongroup1)及两个命令按钮“生成“(名称为 Command
4、1)和“退出“(名称为 Command2);其中选项按钮组有“雇员工资表“(名称为 Option1)、“部门表“(名称为 Option2)和“部门工资汇总表“(名称为 Option3)三个选项按钮。然后为表单建立数据环境,并向数据环境添加 dept表(名称为 Cursor1)和 salarys 表(名称为 Cursor2)。各选项按钮功能如下:(1)当用户选择“雇员工资表“选项按钮后,再按“生成“命令按钮,查询显示在简单应用中创建的 sview 视图中的所有信息并把结果存入表 gz1.dbf 中。(2)当用户选择“部门表“选项按钮后,再按“生成“命令按钮,查询显示 dept 表中每个部门的部门
5、号和部门名称并把结果存入表 bm1.dbf 中。(3)当用户选择“部门工资汇总表“选项按钮后,再按“生成“命令按钮,则按部门汇总,将该公司的部门号、部门名、工资、补贴、奖励、失业保险和医疗统筹按各部门的支出汇总合计结果存入表 hz1.dbf 中。请注意:字段名必须与原字段名一致。(4)按“退出“按钮,退出表单。注意:以上各项功能必须调试、运行通过。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 288 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作:(1)打开项目文件 salary_p,将考生文件夹下的数据库
6、 salary_db 添加到该项目中。(2)在 salary_db 数据库中为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号“;为 salarys 表创建一个普通索引(升序),索引名和索引表达式均是“部门号“,再创建一个主索引(升序)、索引名和索引表达式均是“雇员号“。(3)通过“部门号“字段建立 salarys 表和 dept 表间的永久联系。(4)为以上建立的联系设置参照完整性约束:更新规则为“限制“;删除规则为“级联“;插入规则为“限制“。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)步骤 1:打开项目“salary_p“,在项目管理器中的“数据“选
7、项卡中,选择“数据库“,单击“添加“按钮。 步骤 2:在“打开“对话框中,选择数据库“salary_db“。 (2)步骤 1:选择表“dept“并单击鼠标右键,选择“修改“命令项。 步骤 2:在“表设计器-dept.dbf“中,选择“索引“选项卡,输入索引名“部门号“,选择类型为“主索引“并选择“升序“,表达式为“部门号“。 步骤 3:选择表“salarys“并单击鼠标右键,选择“修改“命令项。 步骤 4:在“表设计器-salarys.dbf“中,选择“索引“选项卡,输入索引名“部门号“,选择类型为“普通索引“并选择“升序“,表达式为“部门号“。 步骤 5:在“表设计器-salarys.dbf
8、“中,选择“索引“选项卡,输入索引名“雇员号“,选择类型为“主索引“并选择“升序“,表达式为“雇员号“。 (3)在“数据库设计器-salary_db“中,然后选择“dept“表中主索引键“部门号“并按住不放,然后移动鼠标拖到“salarys“表中的索引键为“部门号“处,松开鼠标即可。 (4)步骤 1:在已建立的永久性联系后,双击关系线,并显示“编辑关系“对话框。 步骤 2:在“编辑关系“中,单击“参照完整性“按钮,并显示“参照完整性生成器“。 步骤 3:在“参照完整性生成器“中,单击“更新规则“选项卡,并选择“限制“单选按钮,单击“删除规则“选项卡,并选择“级联“单选按钮,单击“插入规则“选项
9、卡,并选择“限制“单选按钮,接着单击“确定“按钮,并显示“是否保存改变,生成参照完整性代码并退出?“,最后单击“是“按钮,这样就生成了指定参照完整性。 注意:可能会出现要求整理数据库,那么请整理后重新做操作。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用:(1)创建一个名称为 sview 的视图,该视图的 SELECT 语句根据salary_db 数据库中的 salarys 表(雇员工资表)进行查询,查询结果包括部门号、雇员号、姓名、工资、补贴、奖励、失业保险、医疗统筹和实发工资等字段,其中实发工资由工资、补贴和奖励三项相加,然后再减去失业保险和医疗统筹
10、得出,结果按“部门号“降序排序,最后将定义视图的命令代码存放到命令文件T1.PRG 中并执行该程序。(2)设计一个名称为 form1 的表单,表单以表格方式(与 BROWSE 窗口方式相似,表格名称为 grdSalarys)显示 salary_db 数据库中 salarys 表的记录,供用户浏览。在该表单的右下方有一个命令按钮,名称为 Command1,标题为“退出浏览“,当单击该按钮时退出表单。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 创建程序文件,在程序文件中输入以下语句。 OPEN DATABASE salary_db CREATE VIEW sview AS; SE
11、LECT 部门号,雇员号,姓名,工资,补贴,奖励,失业保险,医疗统筹,工资+补贴+奖励-失业保险-医疗统筹 AS 实发工资; FROM salarys; ORDER BY 部门号 DESC CLOSE ALL 保存程序文件名为 T1.PRG,并运行。 (2)【操作步骤】 步骤 1:单击常用工具栏中的“新建“按钮,文件类型选择“表单“,打开表单设计器。单击工具栏上“保存“按钮,在弹出“保存“对话框中输入“form1“即可。步骤 2:在“表单设计器-form1.scx“中,单击鼠标右键,在弹出菜单中选择“数据环境“菜单项,在“添加表或视图“对话框中选中表“salarys“并单击“添加“按钮,接着单
12、击“关闭“按钮关闭此对话框。 步骤 3:在“数据环境设计器-form1.scx“中选定表“salarys“并按住鼠标不放,拖至“表单设计器“窗口中,释放鼠标,即可生成表格名称为 grdSalarys 的表格。 步骤 4:在“表单设计器-form1.scx“的右下方添加一个命令按钮,在其“属性“窗口的 Caption 处输入“退出浏览“。 步骤 5:双击“退出浏览“命令按钮,在“Command1.Click“编辑窗口中输入“Thisform. Release“,接着关闭编辑窗口。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,对数据库 salary_db 完成如下综合应用
13、:设计一个名称为 form2 的表单,在表单上设计一个“选项组“(又称选项按钮组,名称为 Optiongroup1)及两个命令按钮“生成“(名称为 Command1)和“退出“(名称为 Command2);其中选项按钮组有“雇员工资表“(名称为 Option1)、“部门表“(名称为 Option2)和“部门工资汇总表“(名称为 Option3)三个选项按钮。然后为表单建立数据环境,并向数据环境添加 dept表(名称为 Cursor1)和 salarys 表(名称为 Cursor2)。各选项按钮功能如下:(1)当用户选择“雇员工资表“选项按钮后,再按“生成“命令按钮,查询显示在简单应用中创建的
14、sview 视图中的所有信息并把结果存入表 gz1.dbf 中。(2)当用户选择“部门表“选项按钮后,再按“生成“命令按钮,查询显示 dept 表中每个部门的部门号和部门名称并把结果存入表 bm1.dbf 中。(3)当用户选择“部门工资汇总表“选项按钮后,再按“生成“命令按钮,则按部门汇总,将该公司的部门号、部门名、工资、补贴、奖励、失业保险和医疗统筹按各部门的支出汇总合计结果存入表 hz1.dbf 中。请注意:字段名必须与原字段名一致。(4)按“退出“按钮,退出表单。注意:以上各项功能必须调试、运行通过。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:单击常用工具栏中的“新
15、建“按钮,文件类型选择“表单“,打开表单设计器。单击工具栏上“保存“按钮,在弹出“保存“对话框中输入“form2“即可。 步骤 2:在“表单控件“中选定“选项按钮组“控件,在“表单设计器-form2.scx“中建立这个选项组,在选项组“属性“的ButtonCount 中输入“3“。 步骤 3:选中这个选项组并单击鼠标右键,在弹出菜单中选择“编辑“菜单项,再单击“Option1“,在其“属性“的 Caption 处输入“雇员工资表“;单击“Option2“,在其“属性“的 Caption处输入“部门表“;单击“Option3“,在其“属性“窗口的 Caption 处输入“部门工资汇总表“。 步骤
16、 4:在“表单设计器-form2.scx“中添加两个命令按钮,在第 1 个命令按钮“属性“的 Caption 处输入“生成“,在第2 个命令按钮“属性“的 Caption 处输入“退出“。 如果数据库 salary_db 在没有被打开的情况下 步骤 5:在“表单设计器-form2.scx“中,单击鼠标右键,在弹出菜单中选择“数据环境“菜单项,在“打开“对话框中选中表“dept“并单击“确定“按钮,接着在“添加表或视图“中再选择表“salarys“,再关闭“添加表或视图“对话框。 如果数据库 salary_db 已经打开 步骤 6:在“表单设计器-form2.scx“中,单击鼠标右键,在弹出菜单
17、中选择“数据环境“菜单项,在“添加表或视图“对话框中先选中表“dept“并单击“添加“按钮,接着再选中“salarys“并单击“添加“按钮,最后接着单击“关闭“按钮关闭“添加表或视图“对话框。 步骤 7:双击“生成“按钮,在“Command1.Click“编辑窗口中编写相应的程序 open database salary_db do case case thisForm.optiongroup1.value = 1 FROM salarys,dept; WHERE salarys.部门号 = dept.部门号; GROUP BY salarys.部门号 into table hz1 endcase close all 步骤 8:双击“退出“命令按钮,在“Command2.Click“编辑窗口中输入“Thisform. Release“,接着关闭编辑窗口。)解析:解析:利用表单设计器创建表单,依据题意设置表单各控件,向表单中添加数据环境,添加表单及控件的属性和方法,编写程序语句以完成表单功能。