2015年计算机二级VFP考试练习及答案解析(3)
一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)
在考生文件夹下有一表单文件formone.scx,其中包含一个文本框和一个命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:
1.将表单的标题设置为"表单操作";命令按钮的标题设置为"显示"。
2.将文本框的初始值设置为数值0、宽度设置为60。
3.设置文本框的InputMask属性,使其只能输入数值,其中:小数部分为两位、整数部分(包括正负号)最多为5位。
4.修改命令按钮的Click事件代码,使其中的wait命令功能为显示文本框的值。注意:需要将文本框中的数值转换成字符串,其中:小数位数保留两位,字符串的长度为8。
本题主要考核点:表单、命令按钮、文本框属性的设置、事件代码的编写。
解题思路:
1、打开表单formone,将表单的Caption属性值设置为表单操作,命令按钮的Caption属性值设置为显示。
2、将文本框的Value属性值设置为0,Width属性值设置为60。
3、将文本框的InputMask属性值设置为99999.99。
4、设置"显示"按钮的Click事件代码:wait str(thisform.text1.value,8,2) window
二、简单应用(2小题,每题20分,计40分)
1.编写SELECT语句,从customers(客户)表中统计各年份出生的客户人数。统计结果依次包含"年份"和"人数"两个字段,各记录按年份升序排序,统计结果存放在tableone表中。最后要执行该SELECT语句,并将该SELECT语句存放在命令文件pone.prg中。
2.首先创建数据库orders_m,并向其中添加customers(客户)和orders(订单)表。然后在数据库中创建视图viewone:利用该视图只能查询2007年签订的订单信息,查询结果依次包含订单号、签订日期、姓名(即客户姓名)和联系电话四项内容,各记录按签订日期降序排序。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
本题主要考核点:利用SQL_SELECT语句建立查询、数据库的创建、向数据库中添加表、视图的创建。
解题思路:
第1题:本题的考查点是利用SQL_SELECT语句建立查询。其命令如下:
SELECT year(Customers.出生日期) as 年份, COUNT(Customers.客户号) as 人数 FROM customers;
GROUP BY 1 ORDER BY 1 INTO TABLE tableone.dbf
然后将此命令保存在pone.prg文件中。
第2题:创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加customers和orders表。再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加customers和orders表,并设置两表间的联系;在"字段"选项卡中选择订单号、签订日期、姓名和联系电话4个字段;切换到"筛选"选项卡,在其中进行如下设置:
字段名条件 实例
YEAR(Orders.签订日期) = 2007
切换到"排序依据"中选择字段"order.签订日期",在"排序选项"处选择"降序",最后将视图保存在viewone文件中。利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
三、综合应用(1小题,计30分)
在考生文件夹下有一个未完成的程序文件ptwo.prg,其功能是进行订单处理,具体功能如下:
(1)利用SELECT语句产生goods(商品)表的一个副本goods_t表。
(2)根据orders、orderitems和goods_t表中的数据、按照签订日期的先后次序依次处理各订单:(a)若订单所订购的所有商品都有足够的库存量,则相关商品的库存量做相应处理(即减去该商品的订购数量),然后将该订单的状态设置为"处理";(b)若订单中有商品没有有足够的库存量,则整个订单不做处理(没有商品库存量被改变),只需将该订单的状态设置为"缺货"。
程序中共有5条语句需要考生给定,请根据程序文件中相应的注释信息将正确的语句插入在形如"&&语句"的注释前,不要增、删或修改其他代码。
完善程序后,必须执行该程序、产生相应的结果。
本题主要考核点:补充程序。
解题思路:
利用"文件"菜单下的"打开"命令打开程序文件ptwo.prg或者用命令:MODIFY COMMAND ptwo.prg来打开文件。
语句1为:set relation to 商品号 into goods_t或其等价语句。
语句2为:set relation to 订单号 into orderitems或其等价语句。
语句3为:if 数量>goods_t.库存量或其等价语句。
语句4为:skip -n或其等价语句。
语句5为:replace 库存量 with 库存量-orderitems.数量或其等价语句。