1、二级 VISUAL+FOXPRO 机试-121 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:4,分数:30.00)1.在数据库 salary_db 中建立表 dept,表结构如下:字段名 类型 宽度部门号 字符型 2部门名 字符型 20随后在表中输入 5 条记录,记录内容如下:部门号 部门名01 制造部02 销售部03 项目部04 采购部05 人事部(分数:7.00)_2.为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号”。(分数:7.00)_3.通过“部门号”字段建立 salary 表和 dept 表间的永久联系。(分数:8.00)
2、_4.为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(分数:8.00)_二、二 简单应用题(总题数:2,分数:40.00)5.使用报表向导建立一个简单报表。要求选择 salary 表中所有字段:记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“雇员号”(升序);报表标题为“雇员工资一览表”;报表文件名为 print1。(分数:20.00)_6.考生目录下有一个 FORM1 表单文件,其中两个命令按钮 Click 事件下的语句都是错误的,其中一个按钮的名称有错误。请按如下要求进行修改(最后保存所做的修改
3、)。(1)将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。(2)单击“浏览雇员工资”命令按钮时,使用 SELECT 命令查询 salary 表中所有字段信息供用户浏览。(3)单击“退出表单”命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不可以增加语句。(分数:20.00)_三、三 综合应用题(总题数:2,分数:30.00)7.请编写名称为 change_c 的命令程序并执行,该程序实现下面的功能。(1)将雇员工资表 salary 进行备份,备份文件名为“bak salar_y.dbf”。(2)利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”,对 s
4、alary 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。(分数:15.00)_8.设计一个名称为 FORM2 的表单,上面有“调整”(名称为 Comnaand1)和“退出”(名称为 Command2)两个命令按钮。(1)单击“调整”命令按钮时,调用 change_c 命令程序实现工资调整。(2)单击“退出”命令按钮时,关闭表单。注意:以上两个命令按钮只含一条语句,不可以有多余的语句。(分数:15.00)_二级 VISUAL+FOXPRO 机试-121 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题
5、数:4,分数:30.00)1.在数据库 salary_db 中建立表 dept,表结构如下:字段名 类型 宽度部门号 字符型 2部门名 字符型 20随后在表中输入 5 条记录,记录内容如下:部门号 部门名01 制造部02 销售部03 项目部04 采购部05 人事部(分数:7.00)_正确答案:(STEP 01 启动 Visual FoxPro 界面,如图 12.6 所示。STEP 02 从“文件”菜单中选择“打开”命令。STEP 03 在“打开”对话框中选择考生目录下的“salary_db.dbc”文件,单击“确定”按钮,如图 12-7所示。STEP 04 在“数据库设计器”中,单击鼠标右键,
6、在弹出的快捷菜单中选择“新建表”命令,如图 12-8所示。SETP 05 在“新建表”对话框中,单击“新建表”按钮。STEP 06 在“创建”对话框中键入表名“dept”,单击“保存”按钮,如图 12.9 所示。STEP 07 在“表设计器”的“字段”属性页中,在“字段名”栏键入“部门号”,在“类型”栏选择“字符型”,在“宽度”栏键入“2”;在“字段名”栏键入“部门名”,在“类型”栏选择“字符型”,在“宽度”栏键入“20”;单击“确定”按钮,如图 12-10 所示。SETP 08 在“数据库设计器”中,右键单击表“dept”,选择“浏览”命令,如图 12-11 所示。STEP 09 在表“de
7、pt”中依次输入 5 条记录,如图 12-12 所示。)解析:2.为 dept 表创建一个主索引(升序),索引名和索引表达式均是“部门号”。(分数:7.00)_正确答案:(STEP 01 在“数据库设计器”中,右键单击表“dept”,选择“修改”命令,如图 12-13 所示。STEP 02 在“表设计器”中,选择“索引”属性页。STEP 03 在“索引名”栏键入“部门号”,“排序”栏选择“升序”,“类型”栏选择“主索引”,“表达式”栏键入“部门号”,单击“确定”按钮,如图 12-14 所示。)解析:3.通过“部门号”字段建立 salary 表和 dept 表间的永久联系。(分数:8.00)_正
8、确答案:(STEP 01 在“数据库设计器”中,将“dept”表中的“索引”部门号拖放到“salary”表中的“索引”部门号上,如图 12-15 所示。STEP 02 右键单击表“dept”和表“salary”之间的连线,选择“编辑关系”命令。STEP 03 在“编辑关系”对话框中,在“表:dept”框和“相关表:salary”框中都选择“部门号”,单击“确定”按钮,如图 12-16 所示。)解析:4.为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(分数:8.00)_正确答案:(STEP 01 从“数据库”菜单中选择“清理数据库”命令,如图 1
9、2-17 所示。STEP 02 右键单击表“dept”和表“salary”之间的连线,选择“编辑参照完整性”命令,如图 12-18 所示。STEP 03 在“参照完整性生成器”对话框的“更新规则”属性页中选择“级联”项,在“删除规则”属性页中选择“限制”项,在“插入规则”属性页中选择“限制”项,如图 12-19 所示。)解析:二、二 简单应用题(总题数:2,分数:40.00)5.使用报表向导建立一个简单报表。要求选择 salary 表中所有字段:记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“雇员号”(升序);报表标题为“雇员工资一览表”;报表文件
10、名为 print1。(分数:20.00)_正确答案:(STEP 01 启动 Visual FoPro。STEP 02 从“文件”菜单中选择“新建”命令。STEP 03 在“新建”对话框中选择“报表”,单击“向导”按钮,如图 12-20 所示。STEP 04 在“向导选取”对话框中选择“报表向导”,单击“确定”按钮,如图 12-21 所示。STEP 05 在“步骤 1”对话框中,单击“数据库和表”框右侧的“”按钮,打开考生目录下的“salary”表。将“salary”表中所有字段选入“选定字段”框,单击“下一步”按钮,如图 12-22 所示。STEP 06 在“步骤 2”对话框中,保持默认值,单
11、击“下一步”按钮,如图 12-23 所示。STEP 07 在“步骤 3”对话框中,“样式”选择“随意式”,单击“下一步”按钮,如图 12-24 所示。STEP 08 在“步骤 4”对话框中,保持默认值,单击“下一步”按钮,如图 12-25 所示。STEP 09 在“步骤 5”对话框中,将“雇员号”选入“选定字段”框,并选择“升序”命令,单击“下一步”按钮,如图 12-26 所示。STEP 10 在“步骤 6”对话框中,在“报表标题”框中键入“雇员工资一览表”,其余保持默认值,单击“完成”按钮,如图 12-27 所示。STEP 11 在“另存为”对话框中键入报表文件名“print1”,单击“保存
12、”按钮,如图 12-28 所示。)解析:6.考生目录下有一个 FORM1 表单文件,其中两个命令按钮 Click 事件下的语句都是错误的,其中一个按钮的名称有错误。请按如下要求进行修改(最后保存所做的修改)。(1)将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。(2)单击“浏览雇员工资”命令按钮时,使用 SELECT 命令查询 salary 表中所有字段信息供用户浏览。(3)单击“退出表单”命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不可以增加语句。(分数:20.00)_正确答案:(STEP 04 在“表单设计器”对话框的“刘缆雇员工资”按钮上单击右键,选择“属性”命令,如图
13、 12-29 所示。STEP 02 在“属性”对话框的“全部”属性页中,选择“Caption”行。STEP 03 在文本框中将“刘缆雇员工资”改为“浏览雇员工资”,然后按【Enter】键,如图 12-30 所示。STEP 04 在“表单设计器”对话框的“浏览雇员工资”按钮上单击右键,选择“代码”命令,如图 12-31所示。STEP 05 在“Command1.Click”窗口中,将原“SELECT”命令改为:SELECT*;FROM salary如图 12-32 所示。STEP 06 在“表单设计器”对话框的“退出表单”按钮上单击右键,选择“代码”命令,如图 12-33 所示。STEP 07
14、在“Command2.Click”窗口中,将原代码改为:THISFORMRELEASE,如图 12-34 所示。)解析:三、三 综合应用题(总题数:2,分数:30.00)7.请编写名称为 change_c 的命令程序并执行,该程序实现下面的功能。(1)将雇员工资表 salary 进行备份,备份文件名为“bak salar_y.dbf”。(2)利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”,对 salary 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。(分数:15.00)_正确答案:(首先建立表,
15、然后再调整“工资”。程序名称为 change_c,程序代码如下:USE salaryCOPY STRUCTURE TO bak_saiary.dbfUSE bak_salaryAPPEND FROM salarySELECT aUSE c_salary1SELECT bUSE salaryUPDATE ON 雇员号 FROM a REPLACE 工资 WITH a. 工资)解析:8.设计一个名称为 FORM2 的表单,上面有“调整”(名称为 Comnaand1)和“退出”(名称为 Command2)两个命令按钮。(1)单击“调整”命令按钮时,调用 change_c 命令程序实现工资调整。(2)
16、单击“退出”命令按钮时,关闭表单。注意:以上两个命令按钮只含一条语句,不可以有多余的语句。(分数:15.00)_正确答案:(STEP 01 新建一个名为“FORM2”的表单文件,然后在其上添加两个“Command”控件,分别为“调整”(名称为 Command1)和“退出”(名称为 Command2),如图 12-35 所示。STEP 02 在“表单设计器”对话框中的“调整”按钮上单击右键,选择“代码”命令。STEP 03 在“Command1.Click”窗口添加:DO change_c 命令,如图 12-36 所示。STEP 04 “表单设计器”对话框中的“退出”按钮上单击右键,选择“代码”命令。STEP 05 在“Command2.Click”窗口添加:thisform.release 命令,如图 12-37 所示。)解析: