1、二级 VISUAL+FOXPRO 机试-40 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.建立项目文件 myp。(2)在项目中建立数据库 myd。(3)把中的表单 my 的“关闭”按钮标题修改为“查看”。(4)将 my 表单添加到项目中。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.(2)考生文件夹下有一个名为 myf 表单文件,其中有一个命令按钮(标题为“查询”)下的 Click 事件下的语句是错误的。请按要求进行修改。要求:单击该按钮查询出住在四楼的所有学生的全部信息。该事件共有 3 条语句,每一
2、句都有一处错误。更正错误但是不允许添加或删除行。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.编写的程序最后保存为 myp. prg。(分数:30.00)_二级 VISUAL+FOXPRO 机试-40 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.建立项目文件 myp。(2)在项目中建立数据库 myd。(3)把中的表单 my 的“关闭”按钮标题修改为“查看”。(4)将 my 表单添加到项目中。(分数:30.00)_正确答案:(启动 Visual FoxPro 后,在命令窗口输入命令:CREATE PROJ
3、ECT myp,新建一个项目管理器。(2)在项目管理器 myp 中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“新建”命令按钮,在系统弹出的“新建数据库”对话框中,选择“新建数据库”按钮,在弹出的“创建”对话框中,以 myd 命名新建的数据库,单击“保存”按钮。(3)从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的表单文件 my. scx。选中表单上的命令按钮,将其 Caption 属性值改为“查看”。单击工具栏上的“保存”图标,保存更改。(4)在项目管理器 myp 中,首先在“文档”选项卡中选择“表单”,然后单击选项卡右边的
4、“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的表单 my 添加到项目管理器中,单击“确定”按钮。)解析:解析 本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理。此外,还考查了表单的属性的更改。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.(2)考生文件夹下有一个名为 myf 表单文件,其中有一个命令按钮(标题为“查询”)下的 Click 事件下的语句是错误的。请按要求进行修改。要求:单击该按钮查询出住在四楼的所有学生的全部信息。
5、该事件共有 3 条语句,每一句都有一处错误。更正错误但是不允许添加或删除行。(分数:40.00)_正确答案:(可以直接在命令窗口输入:CREATE QUERY my,打开查询设计器,新建一个查询。在查询设计器中,分别将“股票信息”和“数量信息”两个数据表文件添加到查询设计器中,系统自动查找两个数据表中匹配的字段进行内部联接,单击“确定”按钮,如图 3-97 所示。*图 3-97在查询设计器中的“字段”选项卡中,将“可用字段”列表框中的全部字段添加到右边的“选定字段”列表框中,在“排序依据”选项卡中,将“选定字段”列表框中的“数量信息现价”字段添加到“排序条件”列表框中,“排序选项”为“降序”排
6、序。执行菜单命令“查询”“运行查询”。查看查询结果。(2)从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的表单文件 myf. scx。双击表单上的“查询”命令按钮,在弹出的程序编辑窗口,其程序段如下:*“查询”命令按钮的源程序*Select all from 宿舍;inner join 学生 when 学生.宿舍:宿舍.宿舍;for subs(宿舍.宿舍,1,1)=“4”*根据题意提供的错误,修改后的程序段如下所示:*“查询”命令按钮修改后的程序段*Select*from 宿舍;inner join 学生 on 学生.宿舍;宿舍.宿舍;whe
7、re subs(宿舍.宿舍,1,1)=“4”*)解析:解析 本大题 1 小题主要考查的是联接查询,设计过程中主要注意两个表之间进行关联的字段。2 小题改错过程中,主要注意的一些常用的但容易混淆的命令或函数,例如 SUBS,STR 等函数之间的区别。三、三 综合应用题(总题数:1,分数:30.00)3.编写的程序最后保存为 myp. prg。(分数:30.00)_正确答案:(在命令窗口中输入命令:MODIFY COMMAND myp,在程序文件编辑器窗口输入如下程序段:*文件 Myp. prg 中的程序段*&查找错误记录SELECT 订单号,SUM(单价*数量)AS 总金额;FROM 货物信息;
8、GROUP BY 订单号;DNTO CURSOR atempSELECT 定货信息.*;FROM atemp,定货信息;WHERE atemp.订单号;定货信息订单号;AND atemp.总金额定货信息.总金额;INTO TABLE 修正&修订“修正”表中的记录SELECT 订单号,SUM(单价*数量)AS 总金额;FROM 货物信息;GROUP BY 订单号;INTO CURSOR atempDO WHILE NOT EOF()UPDATE 修正 SET 总金额=atemp.总金额;WHERE 修正.订单号=atemp.订单号SKIPENDDO*在命令窗口执行命令:DO myf,运行程序,结果如图 3-98 所示。*图 3-98)解析:解析 本大题主要考查的是 SQL 语句的应用,设计过程中可利用临时表来存放查询结果,通过“订单号”建立两个表之间的联系,再利用 DO 循环语句对表中的记录逐条更新。