计算机等级考试:二级VFP机试第20套
来源:优易学  2011-12-9 20:48:10   【优易学:中国教育考试门户网】   资料下载   IT书店

第二十套

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

    在考生文件夹下的"订货管理"数据库中完成如下操作:

    1. 将order_detail、order_list和customer表添加到数据库。

    2. 为order_list表创建一个主索引,索引名和索引表达式均是"订单号"

    3. 建立表order_list和表order_detail间的永久联系(通过"订单号"字段)。

    4. 为以上建立的联系设置参照完整性约束:更新规则为"限制",删除规则为"级

       联",插入规则为"限制"。

本题主要考核点:

将一个自由表添加到数据库中、表索引的建立、表之间的永久联系的建立、参照完整性约束的编辑等知识点

本题解题思路:

第一步:打开考生文件夹下的"订货管理"数据库

第二步:打开数据库菜单选择"添加表(A)",在弹出的"打开"对话框中,选定考生文件夹下的order_detail 表,再点击"确定"即可,这样表order_detail就添加到了"订货管理"数据库中,用同样的方法,将order_lsit和customer表也添加到"订货管理"数据库中

第三步:在数据库设计器中选中表order_list,在主菜单中选择"修改(Y)",弹出表设计器,选择表设计器"索引"标签,在索引名列中填入"订单号",在索引类型列中选择"主索引",在索引表达式列中填入" 订单号",点击"确定"按钮,保存表结构

第四步:在数据库设计器中,选中order_list表中的索引"订单号"并拖动到表order_detail的"订单号"的索引上并松开,这样两个表之间就建立起了永久联系。

第五步:在第四步建立好永久联系之后,在两处表的"订单号"索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择"数据库"中的"编辑参照完整性(I)",系统弹出"参照完整性生成器"对话框,,在"更新规则"标签中,选择"限制"规则,在" 删除"规则中选择"级联",在"插入规则"中选择"限制",单击"确定"保存所编辑的参照完整性。

二、简单应用(2小题,每题20分,计40分)

    在考生文件夹下完成如下简单应用:

    1. 列出客户名为"三益贸易公司"的订购单明细(order_detail)记录将结果

       先按"订单号"升序排列,同一订单的再按"单价"降序排列),并将结果存储

       到results表中(表结构与order_detail表结构相同)。

    2. 考生文件夹下有一个form1表单文件,其中三个命令按钮click事件下的语句

       都是错误的,请按如下要求进行修改(最后保存所做的修改)

    (1) 单击"刷新标题"命令按钮时,使表单的标题为"简单应用";

    (2) 单击"订单记录" 命令按钮时,使表格控件中显示order_list表中的记录;

    (3) 单击"关闭表单" 命令按钮时,关闭表单。

       注意:每处错误只能在原语句上进行修改,不可以增加语句。

本题主要考核点:

     SQL中的查询SELECT查询、联接查询、查询的排序、查询的结果的去向、子查询等;控件的属性、表单的操作等知识点。

解题思路:

   第一小题:由于要查询客户名为"三益贸易公司"的订购单明细,而在订购单明细表order_detail中却没有客户名的字段,所以要通过联接查询来实现。因为要联接三个表,所以将三个依次放在FROM子句的后面,互相之间用逗号隔开:FROM ORDER_DETAIL,ORDER_LIST,CUSTOMER;联接的条件是CUSTOMER.客户号=ORDER_LIST.客户号 AND ORDER_LIST.订单号=ORDER_DETAIL.订单号放在WHERE子句的后面,另外还有一个查询的条件上:CUTOMER.客户名="三益贸易公司"也要放在WHERE的后面并与上面的条件用AND连接起来;查询的排序是通过子句ORDER BY来实现的,将排序的依据依次放在ORDER BY子句的后面,用逗号隔开:ORDER BY ORDER_DETAIL. 订单号,单价 DESC;结果集要放入一个永久表中要用INTO TABLE子句:INTO TABLE RESULTS。这样一个完整的SQL查询语句便可以写出来:

   SELECT ORDER_DETAIL.*;

   FROM ORDER_DETAIL,ORDER_LIST,CUSTOMER;

   WHERE CUSTOMER.客户号=ORDER_LIST.客户号 ;

AND ORDER_LIST.订单号=ORDER_DETAIL.订单号;

AND CUSTOMER.客户名="三益贸易公司";

ORDER BY ORDER_DETAIL.订单号,单价 DESC;

INTO TABLE RESULTS

   第二小题:打开考生文件夹下的"form1.scx",在表单设计器中双击"刷新标题"控件打开代码编辑器,此处是对form对象的caption的属性进行赋值,所以此处应改为:thisform.caption="简单应用";在表单设计器中双击"订单记录"控件打开代码编辑器,此处是要在表格控件中显示表"ORDER_LIST.DBF",所以要对grid1控件的 RecordSource属性进行赋值,此处应改为:thisform.grid1.RecordSource="order_list.dbf";在表单设计器中双击"关闭表单"控件打开代码编辑器,此处的功能是关闭表单,关闭表单要用到表单的Release方法,所以此处应改为: thisform.release退出保存。

三、综合应用(1小题,计30分)

    首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相

    同),然后编写满足如下要求的程序:根据order_list 表中的"订购日期"字段

    的值确定order_detail表的"新单价"字段的值,原则是:订购日期为2001年

    的"新单价"字段的值为原单价的90%,订购日期为2002年的"新单价"字段的值为

    原单价的110%(注意:在修改操作过程中不要改变order_detail表记录的顺

    序),将order_detail表中的记录存储到od_new表中(表结构与order_detail

    表完全相同);最后将程序保存为prog1.prg,并执行该程序。

    接着再利用 Visual Foxpro的"快速报表"功能建立一个的简单报表,该报表内

    容按顺序含有order_detail表的订单号、器件号、器件名、新单价和数量字段

的值,将报表文件保存为report1.frx。

本题主要考核点:

程序的建立方法、程序中循环结构的使用、SQL查询语句的使用、记录的修改方法;报表的建立方法等知识点

本题解题思路:

第一步:在VisualFoxPro主窗口下按组合键Ctrl+N,系统弹出"新建"对话框,在"文件类型"中选择"程序",再点击"新建文件"按钮,则系统弹出程序编辑窗口;

第二步:在弹出的窗中中输入以下代码:

        SET TALK OFF   &&在程序运行时关闭命令结果的显示

SELECT 订单号 FROM ORDER_LIST WHERE YEAR(订购日期)=2001;

INTO CURSOR CurTable

&&从ORDER_LIST中得到订购日期是2001年的所有订单号,

&&并将结果集放入临时表CurTable中

DO WHILE NOT EOF()   &&遍历临时表CurTable中的每一个订单号

            UPDATE ORDER_DETAIL SET 新单价=单价*0.9;

WHERE 订单号=CurTable.订单号

&&如果ORDER_DETAIL中的订单号与临时表的记录号相同时;

&&对新单价进行更新

            SKIP

ENDDO

SELECT 订单号 FROM ORDER_LIST WHERE YEAR(订购日期)=2002;

INTO CURSOR CurTable

DO WHILE NOT EOF()

            UPDATE ORDER_DETAIL SET 新单价=单价*0.9;

            WHERE 订单号=CurTable.订单号

            SKIP

ENDDO

CLOSE ALL

SET TALK ON

第三步:单击"保存"工具栏按钮,以文件名prog1.prg保存程序文件在考生文件夹下,并运行程序。

第四步:在Visual FoxPro主窗口按下组合键Ctrl+N,系统弹出"新建"对话框,在"文件类型"中选择"报表",再点击新建文件按钮,系统弹出报表设计器

第五步:单击主窗口"报表"菜单下的"快速报表(Q)",系统弹出"打开"对话框,选择考生文件夹下的order_detail.dbf表,单击" 确定",系统弹出"快速报表"对话框,单击"字段(F)"按钮,系统弹出"字段选择器"对话框,将订单号、器件号、器件名、新单价、数量依次放入"选定字段"中,单击"确定",返回"快速报表"对话框,单击"确定"按钮后便生成了一个报表,将报表文件以文件名report1.frx保存在考生文件夹下。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训