1、二级 VISUAL+FOXPRO 机试-140 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.(1)建立项目文件,文件名为 my。(2)将数据库“职工”添加到的项目中。(3)为数据库中的表“员工”建立“候选索引”,索引名称和索引表达式均为“员工编码”。(4)为“员工”表和“职称”表之间的关联设置完整性约束,要求:更新规则为“级联”,删除规则为“限制”,插入规则为“忽略”。(考生文件夹下载)(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)使用报表向导建立一个简单报表。要
2、求选择 salarys 表中所有字段:记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“雇员号”(升序);报表标题为“雇员工资一览表”;报表文件名为 print1。(2)在考生文件夹下有一个名称为 form1 的表单文件,表单中的两个命令按钮的 Click 事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改:将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。单击“浏览雇员工资”命令按钮时,使用 SELECT 命令查询 salarys 表中所有字段信息供用户浏览。单击“退出表单”命令按钮时,关闭表单。注意:每
3、处错误只能在原语句上进行修改,不能增加语句行。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.(1)请编写名称为 change_ c 的程序并执行。该程序实现下面的功能:将雇员工资表 salarys 进行备份,备份文件名为 baksals.dbf。利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”,对 salarys 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。最后将 salarys 表中的记录存储到 od _ new 表中(表结构与 salarys 表完全相同)。(2)
4、设计一个文件名为 form2 的表单,其中包含“调整”(名称 Command1)和“退出”(名称 Command2)两个命令按钮。单击“调整”命令按钮时,调用 change_ c 命令程序实现工资调整。单击“退出”命令按钮时,关闭表单。注意:在两个命令按钮中均只有一条命令,不可以有多余命令。(分数:30.00)_二级 VISUAL+FOXPRO 机试-140 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.(1)建立项目文件,文件名为 my。(2)将数据库“职工”添加到的项目中。(3)为数据库中的表“员工”建立“候选索引”,索引名称和索
5、引表达式均为“员工编码”。(4)为“员工”表和“职称”表之间的关联设置完整性约束,要求:更新规则为“级联”,删除规则为“限制”,插入规则为“忽略”。(考生文件夹下载)(分数:30.00)_正确答案:(启动 Visual FoxPro 后,在命令窗口输入命令:CREATE PROJECT my,新建一个项目管理器。(2)在项目管理器 my 中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的数据库“职工”添加到项目管理器中,单击“确定”按钮。(3)在项目管理器中,依次展开“数据库”分支,选择“员工”数据表,然后单击右边的“
6、修改”命令按钮,进入“员工”的数据表设计器界面,在 “索引”选项卡中,把“索引名”和“索引表达式”均改为“员工编码”,在“索引类型”下拉框中,选择“候选索引”;单击“确定”按钮,保存表结构设计。(4)根据 3 小题操作,为“职称”表建立一个“员工编码”的主索引。打开“职工”数据库设计环境,将“职称”表中“索引”下面的“员工编码”主索引字段拖到“员工”表中“索引”下面的“员工编码”索引字段上,建立了两个表之间的永久性联系。)解析:解析 本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的
7、设计器直接管理。此外,还考查了索引和参照完整性的建立,建立索引表可以在数据表设计器中完成。设置参照完整性都是在数据库设计器中完成。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)使用报表向导建立一个简单报表。要求选择 salarys 表中所有字段:记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“雇员号”(升序);报表标题为“雇员工资一览表”;报表文件名为 print1。(2)在考生文件夹下有一个名称为 form1 的表单文件,表单中的两个命令按钮的 Click 事件下的语句都有错误,其中一个
8、按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改:将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。单击“浏览雇员工资”命令按钮时,使用 SELECT 命令查询 salarys 表中所有字段信息供用户浏览。单击“退出表单”命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不能增加语句行。(分数:40.00)_正确答案:(1)在工具栏中单击“新建”按钮,在对话框中选择“报表”选项,单击“向导”按钮,在“向导选取”对话框中选择“报表向导”,单击“确定”按钮进入报表向导设计界面。在“字段选取”报表向导界面中,为报表添加数据源,选择数据表文件 salarys,通过选项卡中的“
9、全部添加”按钮,将“可用字段”列表框中的所有字段全部添加到“选定字段”列表框中,如图 3-70 所示。单击“下一步”命令按钮,依次在“选择报表样式”向导界面的“样式”列表框中,选择“随意式”,在“定义报表布局”向导界面中,设置列数为“1”,字段布局为“列”,方向为“纵向”,在“排序记录”向导界面中添加“雇员号”字段到“选定字段”列表框中,并选择“升序”单选项,最后在“完成”界面中输入报表标题“雇员工资一览表”,单击“完成”命令按钮,将报表以 print1 名保存在考生文件夹下。(2)在命令窗口输入命令:MODIFY FORM form1,打开表单 form1.scx。选中表单中的“刘缆雇员工资
10、”命令按钮,在属性对话框中修改 Caption 的属性值为“浏览雇员工资”,如图 3-71 所示。)解析:解析 本大题 1 小题利用报表向导设计一个简单报表,设计过程中注意每个向导界面需要完成的操作即可;2 小题修改表单控件属性,直接在属性面板中完成即可,注意方法的使用,例如关闭表单应使用 Release 属性。三、三 综合应用题(总题数:1,分数:30.00)3.(1)请编写名称为 change_ c 的程序并执行。该程序实现下面的功能:将雇员工资表 salarys 进行备份,备份文件名为 baksals.dbf。利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”
11、,对 salarys 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。最后将 salarys 表中的记录存储到 od _ new 表中(表结构与 salarys 表完全相同)。(2)设计一个文件名为 form2 的表单,其中包含“调整”(名称 Command1)和“退出”(名称 Command2)两个命令按钮。单击“调整”命令按钮时,调用 change_ c 命令程序实现工资调整。单击“退出”命令按钮时,关闭表单。注意:在两个命令按钮中均只有一条命令,不可以有多余命令。(分数:30.00)_正确答案:(1)在命令窗口输入命令:MO
12、DIFY COMMAND change_ c,打开程序编辑器,编写如下程序段:*change_ c.prg 文件中的程序段*SET TALK OFFSET SAFETY OFFSELECT * FROM salarys INTO TABLE baksalsUSE c_salary1DO WHILE NOT EOF()UPDATE salarys SET 工资=c_salary1.工资;WHERE 雇员号=c_salary1.雇员号SKIPENDDOSELECT*FROM SALARYS INTO TABLE od_ newCLOSE ALLSET TALK ONSET SAFETY ON*保存文件,在命令窗口输入命令:DO change _c,运行该文件。(2)在命令窗口输入命令:CREATE FORM form2,打开表单设计器,根据题意,通过“表单控件”工具栏,在表单中添加两个命令按钮,在属性面板中,分别修改两个命令按钮的 Caption 属性值为“调整”,和“退出”,如图 3-72 所示。)解析:解析 本大题 1 小题主要是考查 SQL 的查询、定义和更新语句,在更新数据表中的记录时,可利用 DO 循环对表中的记录进行逐条更新;2 小题为表单的基本设计,在命令按钮中调用程序的命令,直接通过 DO 命令来实现。