④将文本框的Value属性值设置为"=date()"。
⑤设置"查询"按钮的Click事件代码:
SELECTCustomer.会员号,Customer.姓名,sum(Orderitem.数量*Article.单价)as总金额;
FROMcustomer,orderitem,article;
WHEREArticle.商品号=Orderitem.商品号ANDCustomer.会员号=Orderitem.会员号AND;
Orderitem.日期>=ctod(thisform.Text1.Text);
ORDERBY3GROUPBYCustomer.会员号;
INTOTABLEdbfa.dbf
⑥设置"退出"按钮的Click事件代码:
THISFORM.RELEASE
⑦保存表单并运行,在文本框中输入03/08/2003,并单击"查询"命令按钮。
第2套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下有一表单文件myform.scx,其中包含"高度"标签、Text1文本框,以及"确定"命令按钮。
打开该表单文件,然后在表单设计器环境下完成如下操作:
1.将标签、文本框和命令按钮三个控件设置为顶边对齐。
2.设置"确定"按钮的属性使在表单运行时按Enter键就可以直接选择该按钮。
3.将表单的标题设置为"表单操作";将表单的名称设置为myform。
4.设置"确定"按钮的Click事件代码,使得表单运行时,单击该按钮可以将表单的高度设置成在文本框中指定的值。
本题主要考核点:
表单属性的设置、快捷访问键的设置、事件代码的编写。
解题思路:
1、打开表单myform,选中标签、文本框和命令按钮,选择"格式"菜单下"对齐"菜单下的"顶边对齐"。
2、将"确定"按钮的Default属性值设置为.T.。
3、将表单的Caption属性值设置为表单操作,Name属性值设置为myform。
4、设置"确定"按钮的Click事件代码:
this.parent.height=val(this.parent.text1.value)。
二、简单应用(2小题,每题20分,计40分)
在考生目录下完成如下简单应用:
1.用SQL语句完成下列操作:
检索客户名为"lilan"所定商品的商品名和单价,结果按单价降序存入book_temp表中。
2.首先创建数据库order_m,并向其中添加order和orderitem表。
然后在数据库中创建视图viewone:
利用该视图只能查询商品号为a00002的商品的订购信息。
查询结果依次包含订单号、签订日期和数量三项内容。
各记录按订单号升序排序,最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
本题主要考核点:
利用SQL_SELECT语句建立查询、数据库的创建、向数据库中添加表、视图的创建。
解题思路:
第1题:
本题的考查点是利用SQL_SELECT语句建立查询。
其命令如下:
SELECTGoods.商品名,Goods.单价FROMgoods,orderitem,order;
WHEREOrderitem.订单号=Order.订单号AND;
Goods.商品号=Orderitem.商品号ANDOrder.客户名="lilan";
ORDERBYGoods.单价DESCINTOTABLEbook_temp.dbf
第2题:
创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加order和orderitem表。
再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加order和orderitem表,并设置两表间的联系;在"字段"选项卡中选择订单号、签订日期和数量3个字段;切换到"筛选"选项卡,在其中进行如下设置:
字段名条件实例
orderitem.商品号="a00002"
切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"升序",最后将视图保存在viewone文件中。
利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
三、综合应用(1小题,计30分)
在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。
运行该菜单程序时会在当前vfp系统菜单的末尾追加一个"考试"子菜单,如下图所示。
菜单命令"计算"和"返回"的功能都通过执行过程完成。
菜单命令"计算"的功能如下:
(1)用ALTERTABLE语句在order表中添加一个"总金额"字段,该字段为数值型,宽度为7,小数位数为2。
(2)根据orderitem表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并填入刚才建立的字段中。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
本题主要考核点:
创建菜单。
解题思路:
1、建立菜单可以使用"文件"菜单完成,选择文件--新建--菜单--新建文件打开菜单设计器。
打开"显示"菜单下的"常规选项"对话框,在"位置"处选择追加,则新建立的子菜单会在当前vfp系统菜单后显示。
2、在菜单名称中填入"考试",结果为子菜单,单击创建;在子菜单的菜单名称中输入"计算",结果为过程。
在过程中输入下列命令:
ALTERTABLEorderADDCOLUMN总金额N(7,2)
CLOSEDATA
USEOrder
GOTOP
DOWHILENOTEOF()
SELECTsum(Orderitem.数量*Goods.单价)FROMorderitem,goods;
WHEREOrderitem.商品号=Goods.商品号ANDorderitem.订单号=Order.订单号;
GROUPBYOrderitem.订单号INTOARRAYA
REPLACE总金额WITHA[1]
SKIP
ENDDO
在菜单名称中填入"返回",结果为过程,在过程中输入此命令:
SETSYSMENUTODEFAULT。
3、最后保存菜单mymenu.mnx,并生成菜单程序mymenu.mpr,且运行菜单程序并依次执行"计算"和"返回"菜单命令。
第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事件代码:
waitstr(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语句建立查询。
其命令如下:
SELECTyear(Customers.出生日期)as年份,COUNT(Customers.客户号)as人数FROMcustomers;
GROUPBY1ORDERBY1INTOTABLEtableone.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或者用命令:
MODIFYCOMMANDptwo.prg来打开文件。
语句1为:
setrelationto商品号intogoods_t或其等价语句。
语句2为:
setrelationto订单号intoorderitems或其等价语句。
语句3为:
if数量>goods_t.库存量或其等价语句。
语句4为:
skip-n或其等价语句。
语句5为:
replace库存量with库存量-orderitems.数量或其等价语句。
第4套
一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)
在考生文件夹下已有customers(客户)、orders(订单)、orderitems(订单项)和goods(商品)四个表。
在考生文件夹下完成如下操作:
1.创建一个名为"订单管理"的数据库,并将已有的customers表添加到该数据库中。
2.利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为"出生日期"。
3.在表设计器中为customers表的"性别"字段设置有效性规则,规则表达式为:
性别$"男女",出错提示信息是:
"性别必须是男或女"。
4.利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为"客户号",索引存放在customers.cdx中。
然后将该INDEX命令存入命令文件pone.prg中。
本题主要考核点:
将一个自由表添加到数据库中、设置有效性规则、用INDEX命令和表设计器建立表索引。
解题思路:
3、建立有效性规则在表设计器中的字段选项卡中设置。
在"规则"栏中输入:
性别$"男女","提示信息"栏输入:
"性别必须是男或女"。
4、建立普通索引的命令为:
INDEXON客户号TAGkhhofcustomers.cdx,然后将此命令保存在pone.prg文件中。
二、简单应用(2小题,每题20分,计40分)
1.在考生文件夹下创建表单文件formone.scx,如下图所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Command1。
然后按相关要求完成相应操作。
(1)如图所示设置表单、标签和命令按钮的Caption属性。
(2)设置文本框的Value属性值为表达式Date()。
(3)设置"查询"按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:
从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按出生日期降序排序,查询去向为表tableone。
最后运行该表单,查询1980年1月1日以后出生的客户。
2.向名为"订单管理"的数据库(在基本操作题中建立)添加orderitems表。
然后在数据库中创建视图viewone:
利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含商品号和订购总量(即所有订单对该商品的订购数量之和)两项内容,各记录按商品号升序排序。
最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
本题主要考核点:
表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。
解题思路:
第1题:
①在命令窗口输入命令:
CREATEFORMformone,打开表单设计器窗口。
②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。
③设置标签、"查询"命令按钮、表单的Caption属性值。
④将文本框的Value属性值设置为"=date()"。
⑤设置"查询"按钮的Click事件代码:
SELECT姓名,性别,出生日期FROMcustomers;
WHERE出生日期>=ctod(thisform.Text1.Text);
ORDERBY出生日期DESC;
INTOTABLEtableone.dbf
⑥保存表单并运行,在文本框中输入01/01/1980,并单击"查询"命令按钮。
第2题:
打开"订单管理"数据库,单击"数据库"菜单中的"添加表",将orderitems表添加到数据库中,新建"本地视图",添加"orderitems"表到视图中,先选择"商品号"字段,再在"函数与表达式"中输入"SUM(Orderitems.数量)AS订购总量",单击"添加"按钮,在"排序依据"中选择按"商品号"升序,"分组依据"中选择"商品号",以文件名viewone保存该视图。
利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
三、综合应用(1小题,计30分)
在考生文件夹下创建一个顶层表单myform.scx(表单的标题为"考试"),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。
效果如下图所示。
1)菜单命令"计算"和"退出"的功能都通过执行过程完成。
2)菜单命令"计算"的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并将计算的结果填入orders表的相应字段中。
3)菜单命令"退出"的功能是释放并关闭表单。
最后,请运行表单并依次执行其中的"计算"和"退出"菜单命令。
解题思路:
1、建立表单:
可通过"文件"菜单下的"新建"命令或用命令CREATEFORM打开表单设计器。
2、修改表单各属性值,CAPTION="考试"。
将表单以myform.scx为文件名保存在考生文件夹下。
3、建立菜单:
可通过"文件"菜单下的"新建"命令或用命令CREATEMEMU打开菜单设计器。
点击"显示"菜单下的"常规选项"命令打开"常规选项"对话框,选中"顶层表单"复选框。
在菜单设计器中建立各菜单项,菜单名称分别为:
计算和退出。
在"计算"菜单的结果列中选择"过程",并通过单击"创建"按钮打开一个窗口来添加"计算"菜单项要执行的命令:
CLOSEDATA
USEOrders
GOTOP
DOWHILENOTEOF()
dingdanhao=订单号
SELECTsum(Orderitems.数量*Goods.单价)FROMorderitems,goods;
WHEREOrderitems.商品号=Goods.商品号ANDorderitems.订单号=dingdanhao;
GROUPBYOrderitems.订单号INTOARRAYA
REPLACE总金额WITHA[1]
SKIP
ENDDO
在"退出"菜单的结果列中选择"过程",并通过单击"创建"按钮打开一个窗口来添加菜单项要执行的命令:
myform.release,用来关闭表单并返回到系统菜单。
最后点击"菜单"下的"生成"命令,生成mymenu.mpr程序。
4、将表单myform.scx中的ShowWindow属性设置为"2-作为顶层表单",并在表单的LOAD事件中输入:
domymenu.mprwiththis,'mymenu',执行菜单程序。
5、保存并运行表单,依次执行其中的"计算"和"退出"菜单命令。
第5套
一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)
在考生文件夹下完成下列操作:
1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将"教师表"、"课程表"和"学院表"三个自由表加入该数据库中。
2.为"课程表"和"教师表"分别建