1、二级 VISUAL+FOXPRO 机试-117 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:4,分数:30.00)1.打开项目文件 salary_p,将考生目录下的数据库 salary_db 添加到该项目中。(分数:7.00)_2.在 salary_db 数据库中为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号”;为salary 表创建一个普通索引(升序),索引名和索引表达式均是“部门号”,再创建一个主索引(升序),索引名和索引表达式均是“雇员号”。(分数:7.00)_3.通过“部门号”字段建立 salary 表和 dept 表间的永
2、久联系。(分数:8.00)_4.为以上建立的联系设置参照完整性约束:更新规则为“限制”;删除规则为“级联”;插入规则为“限制”。(分数:8.00)_二、二 简单应用题(总题数:2,分数:40.00)5.创建一个名称为 sview 的视图,该视图的 SELECT 语句查询 salary_db 数据库中 salary 表(雇员工资表)的部门号、雇员号、姓名、工资、补贴、奖励、失业保险、医疗统筹和实发工资,其中实发工资由工资、补贴和奖励 3 项相加,然后再减去失业保险和医疗统筹得出,结果按“部门号”降序排序,最后将定义视图的命令代码存放到命令文件 t1.prg 中并执行该程序。(分数:20.00)_
3、6.设计一个名称为 FORM1 的表单,表单以表格方式(与 BROWSE 窗口方式相似,表格名称为 graSalary)显示 salary_db 数据库中 salar_y 表的记录,供用户浏览。在该表单的右下方有一个命令按钮,名称为Command1,标题为“退出浏览”,当单击该按钮时退出表单。(分数:20.00)_三、三 综合应用题(总题数:1,分数:30.00)7.在考生目录下,对数据库 salary_db 完成如下综合应用。设计一个名称为 FORM2 的表单,在表单上设计一个“选项组”(又称选项按钮组,名称为 Optiongroup1)及两个命令按钮“生成”(名称为 Command1)和“
4、退出”(名称为 Command2);其中选项按钮组有“雇员工资表”(名称为 Option1)、“部门表”(名称为 Option2)和“部门工资汇总表”(名称为 Option3)3 个选项按钮。然后为表单建立数据环境,并向数据环境添加 depl 表(名称为 Cursor1)和 salary 表(名称为Cursor2)。各选项按钮功能如下:(1)当用户选择“雇员工资表”选项按钮后,再单击“生成”命令按钮,查询显示在简单应用中创建的sview 视图中的所有信息,并把结果存入表 gz1.dbf 中。(2)当用户选择“部门表”选项按钮后,再单击“生成”命令按钮,查询显示 dept 表中每个部门的部门号和
5、部门名称,并把结果存入表 bm1.dbf 中。(3)当用户选择“部门工资汇总表”选项按钮后,再单击“生成”命令按钮,则按部门汇总,将该公司的部门号、部门名、工资、补贴、奖励、失业保险和医疗统筹的支出汇总,合计结果存入表 hz1.dbf 中。请注意:字段名必须与原字段名一致。(4)单击“退出”按钮,退出表单。注意:以上各项功能必须调试、运行通过。(分数:30.00)_二级 VISUAL+FOXPRO 机试-117 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:4,分数:30.00)1.打开项目文件 salary_p,将考生目录下的数据库 salary_db 添加
6、到该项目中。(分数:7.00)_正确答案:(STEP 01 启动 Visual FoxPro。STEP 02 从“文件”菜单中选择“打开”命令。STEP 03 在“打开”对话框中,选择考生目录下的项目文件“salary_pjx”,单击“确定”按钮。STEP 04 在“项目管理器”对话框中,选择“数据”属性页,再选择“数据库”,单击“添加”按钮。STEP 05 在“打开”对话框中,选择考生目录下的“salary_db.dbc”文件,单击“确定”按钮。)解析:2.在 salary_db 数据库中为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号”;为salary 表创建一个普通
7、索引(升序),索引名和索引表达式均是“部门号”,再创建一个主索引(升序),索引名和索引表达式均是“雇员号”。(分数:7.00)_正确答案:(STEP 01 在“项目管理器”对话框的“数据”属性页中,选择“数据库”,再选择“salary_db”,单击“修改”按钮。STEP 02 在“数据库设计器”中,右键单击表“dept”,选择“修改”命令。STEP 03 在“表设计器”中,选择“索引”属性页。STEP 04 在“索引名”栏键入“部门号”,“排序”栏选择“升序”,“类型”栏选择“主索引”,“表达式”栏键入“部门号”,单击“确定”按钮。STEP 05 在“数据库设计器”中,右键单击表“salary
8、”,选择“修改”命令。STEP 06 在“表设计器”中,选择“索引”属性页。STEP 07 “索引名”栏键入“部门号”,“排序”栏选择“升序”,“类型”栏选择“普通索引”,“表达式”栏键入“部门号”。STEP 08 在“索引名”栏键入“雇员号”,“排序”栏选择“升序”,“类型”栏选择“普通索引”,“表达式”栏键入“雇员号”,单击“确定”按钮。)解析:3.通过“部门号”字段建立 salary 表和 dept 表间的永久联系。(分数:8.00)_正确答案:(STEP 01 在“数据库设计器”中,将“dept”表中的“索引”部门号拖放到“salary”表中的“索引”部门号上。STEP 02 右键单击
9、表“dept”和表“salary”之间的连线,选择“编辑关系”命令。STEP 03 在“编辑关系”对话框中,在“表:dept”框和“相关表:salary”框中都选择“部门号”,单击“确定”按钮。)解析:4.为以上建立的联系设置参照完整性约束:更新规则为“限制”;删除规则为“级联”;插入规则为“限制”。(分数:8.00)_正确答案:(STEP 01 从“数据库”菜单中选择“清理数据库”命令。STEP 02 右键单击表“dept”和表“salary”之间的连线,选择“编辑参照完整性”命令。STEP 03 在“参照完整性生成器”对话框的“更新规则”属性页中选择“限制”项,在“删除规则”属性页中选择“
10、级联”项,在“插入规则”属性页中选择“限制”项,单击“确定”按钮。)解析:二、二 简单应用题(总题数:2,分数:40.00)5.创建一个名称为 sview 的视图,该视图的 SELECT 语句查询 salary_db 数据库中 salary 表(雇员工资表)的部门号、雇员号、姓名、工资、补贴、奖励、失业保险、医疗统筹和实发工资,其中实发工资由工资、补贴和奖励 3 项相加,然后再减去失业保险和医疗统筹得出,结果按“部门号”降序排序,最后将定义视图的命令代码存放到命令文件 t1.prg 中并执行该程序。(分数:20.00)_正确答案:(STEP 01 启动 Visual FoxPro。STEP 0
11、2 从“文件”菜单中选择“打开”命令,在“打开”对话框中,选择考生目录下的数据库文件“salary_db.dbc”,单击“确定”按钮。STEP 03 从“文件”菜单中选择“新建”命令。STEP 04 在“新建”对话框中选择“视图”,再选择“新建文件”命令。STEP 05 将“salary”表加入“视图设计器”。STEP 06 依次将“salary.部门号”、“salary.雇员号”、“salary.姓名”、“salary.工资”、“salary.补贴”、“salary.奖励”、“salary.失业保险”、“salary.医疗统筹”、“salary.工资+salary.补贴+salary.奖励-
12、salary.失业保险-salary.医疗统筹 AS 实发工资”加入“选定字段”框中,如图 12-63 所示。STEP 07 在“排序依据”属性页中,选择“salary.部门号”加入“排序条件”框,在“排序选项”栏中选择“降序”选项,如图 12-64 所示。STEP 08 在“视图设计器”对话框中,单击鼠标右键选择“查看 SQL”命令。STEP 09 将所有 SQL 命令复制到剪贴板,如图 12-65 所示。STEP 10 从“文件”菜单中选择“新建”命令。STEP 11 在“新建”对话框中选择“程序”,再选择“新建文件”命令。STEP 12 将剪贴板中的命令复制到“程序”窗口中,并保存为“t
13、1.prg”,如图 12-66 所示。)解析:6.设计一个名称为 FORM1 的表单,表单以表格方式(与 BROWSE 窗口方式相似,表格名称为 graSalary)显示 salary_db 数据库中 salar_y 表的记录,供用户浏览。在该表单的右下方有一个命令按钮,名称为Command1,标题为“退出浏览”,当单击该按钮时退出表单。(分数:20.00)_正确答案:(STEP 01 从“文件”菜单中选择“新建”命令。STEP 02 在“新建”对话框中选择“表单”,再选择“新建文件”命令。STEP 03 从“表单控件”工具条中,选择“表格”控件,放入“FORM1”中。STEP 04 从“表单
14、控件”工具条中,选择“命令按钮”控件,放入“FORM1”中。STEP 05 在“表格”控件上单击鼠标右键,选择“属性”命令。在“属性”对话框的“全部”属性页中,将“RecordSourceType”项设为“表”,将“RecordSource”项设为“salary”,将“Name”项设为“grdSalary”。STEP 06 在“命令按钮”控件上单击鼠标右键,选择“属性”命令。在“属性”对话框的“全部”属性页中,将“Caption”项设为“退出浏览”。STEP 07 在“命令按钮”控件上单击鼠标右键,选择“代码”命令,在“Command1.Click”窗口中键入:thisform.release
15、。)解析:三、三 综合应用题(总题数:1,分数:30.00)7.在考生目录下,对数据库 salary_db 完成如下综合应用。设计一个名称为 FORM2 的表单,在表单上设计一个“选项组”(又称选项按钮组,名称为 Optiongroup1)及两个命令按钮“生成”(名称为 Command1)和“退出”(名称为 Command2);其中选项按钮组有“雇员工资表”(名称为 Option1)、“部门表”(名称为 Option2)和“部门工资汇总表”(名称为 Option3)3 个选项按钮。然后为表单建立数据环境,并向数据环境添加 depl 表(名称为 Cursor1)和 salary 表(名称为Cur
16、sor2)。各选项按钮功能如下:(1)当用户选择“雇员工资表”选项按钮后,再单击“生成”命令按钮,查询显示在简单应用中创建的sview 视图中的所有信息,并把结果存入表 gz1.dbf 中。(2)当用户选择“部门表”选项按钮后,再单击“生成”命令按钮,查询显示 dept 表中每个部门的部门号和部门名称,并把结果存入表 bm1.dbf 中。(3)当用户选择“部门工资汇总表”选项按钮后,再单击“生成”命令按钮,则按部门汇总,将该公司的部门号、部门名、工资、补贴、奖励、失业保险和医疗统筹的支出汇总,合计结果存入表 hz1.dbf 中。请注意:字段名必须与原字段名一致。(4)单击“退出”按钮,退出表单
17、。注意:以上各项功能必须调试、运行通过。(分数:30.00)_正确答案:(STEP 01 新建一个名为“FORM2”的表单文件,然后在其上添加一个“命令按钮组”控件和两个“命令按钮”控件。STEP 02 修改“命令按钮组”控件,将其命名为“Optiongroup1”,有“雇员工资表”(名称为 Option1)、“部门表”(名称为 Option2)、“部门工资汇总表”(名称为 Option3)3 个选项按钮。STEP 03 修改两个命令按钮,将其命名为“生成”(名称为 Command1)和“退出”(名称为 Command2)。STEP 04 为表单建立数据环境,并向数据环境添加“dept”表(名
18、称为 Cursor1)和“salary”表(名称为Cursor2)。STEP 05 在“表单设计器”对话框中,在“雇员工资表”按钮上单击鼠标右键,选择“代码”命令。STEP 06 在“Command1.Click”窗口中,键入:cur=1。STEP 07 在“表单设计器”对话框中,在“部门表”按钮上单击鼠标右键,选择“代码”命令。STEP 08 在“Command2.Click”窗口中,键入:cur=2。STEP 09 在“表单设计器”对话框中,在“部门工资汇总表”按钮上单击鼠标右键,选择“代码”命令。STEP 10 在“Command3.Click”窗口中,键入:cur=3。STEP 11
19、在“表单设计器”对话框中,在“生成”按钮上单击鼠标右键,选择“代码”命令。STEP 12 在“Command1.Click”窗口中,键入:DO CASECASE cur=1SELECT salary. 部门号, salary, 雇员号, salary, 姓名, salary, 工资,;salary. 补贴, salary, 奖励, salary, 失业保险,;salary, 医疗统筹, salary, 工资+salary. 补贴+salary.奖金;-salary, 失业保险-salary.医疗统筹 AS 实发工资;FROM salary_db! Salary;ORDER BY salary,
20、 部门号 DESCINTO TABLE gz1.dbfCASE cur=2SELECT *,FROM salary_db! dept;INTO TABLE bm1. dbfOTHERWISESELECT dept. *. SUM (salary.工资) AS 工资, SUM (salary. 补贴) AS 补贴,;SUM (salary. 奖励) AS 奖励, SUM (salary, )AS 失业保险;,SUM (salary.医疗统筹)AS 医疗统筹;FROM salary_db! Dept INNER JOIN salary_db! Salary;ON dept. 部门号=salary. 部门号;GROUP BY dept. 部门号;INTO TABLE hz1. dbfSTEP 13 在“表单设计器”对话框中,在“退出”按钮上单击鼠标右键,选择“代码”命令。STEP 14 在“Command2.Click”窗口中,键入:thisform.release。)解析: