vfp 如何淘宝卖家修改物流单号单号按排列方式递增

当前位置: >>
2010国二VFP考试新题
2010 国二 VFP 考试新题2010年国家二级VFP新题第一套 2010年国家二级VFP新题第一套 年国家二级VFP新题第一 一、基本操作题(84套第二套第一题) 基本操作题(84套第二套第一题) 套第二套第一题 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 1.用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果存入表文件 results.dbf,然后将该SQL语句保存在SQL.TXT文件中(只占一行); 2.modi.prg程序的功能是:先为&学生&表增加一个&平均成绩&字段,数据类型为N(6,2);然后根据& 选课&表统计每个学生的平均成绩,并写入新添加的字段。该程序有三处错误,请改正之,使程序能正确运 行(在指定处修改,不允许增加或删除程序行)。 解题思路: 编写SQL语句如下: select 姓名 from 学生 join 选课 on 学生.学号=选课.学号 where 解题思路: 1、 成绩&=70 group by 姓名 having count (课程号)&=3 INTO TABLE results.dbf。 2、打开modi.prg,修改其中三处错误为: 第一处错误修改为:ALTE TABLE 学生 ADD 平均成绩 N(6,2); 第二处错误修改为:DO WHILE .NOT. EOF(); 第三处错误修改为:REPLACE 平均成绩 WITH cj[1]。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,完成如下综合应用: 1.根据&成绩管理&数据库中的&课程&、&选课&和&学生&三个表建立一个名为view_grade的视图,该视 图包含学号、姓名、课程名称和成绩四个字段,并要求先按学号升序排序、在学号相同情况下按课程名称 降序排序; 2.建立一个表单grade_list(控件名和文件名),添加一个表格控件,该表格控件的数据源是前面建 立的视图view_grade(直接使用拖拽的方法添加该表格);然后在表格控件下面添加一个命令按钮(名称 为Command1),该命令按钮的标题为&退出&,要求单击按钮时关闭表单。 注意:完成表单设计后要运行表单的所有功能。 解题思路: 解题思路:1、打开&成绩管理&数据库,新建&本地视图&,添加&课程&、&选课&和&学生&三个表到视图中, 然后选择题面要求的字段, 在&排序依据&中选择按&学号&升序, &课程名称&降序排序。 以文件名view_grade 保存该视图。 2、单击&文件&菜单中的&新建&,打开&新建&对话框,选择&表单&或在命令窗口输入CREATE FORM命令。 表单的Name属性为grade_list;在表单空白处右击鼠标,选择&数据环境&,在数据环境中添加视图 &view_grade&,将上题设计的视图直接拖拽到表单中;在表单控件工具栏上单击&命令按钮&,添加一个按 钮, 修改其Name属性为&Command1&, Caption属性为&退出&, 添加此按钮的Chick事件为&ThisForm.release&。 最后将表单保存为grade_list并运行该表单。 2010年国家二级VFP新题第二套 2010年国家二级VFP新题第二套 年国家二级VFP新题第二 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下,打开Ecommerce数据库,完成如下操作: 1.打开Ecommerce数据库,并将考生文件夹下的自由表OrderItem添加到该数据库。 2.为OrderItem表创建一个主索引,索引名为PK,索引表达式为&会员号+商品号&;再为OrderItem创 建两个普通索引(升序),一个的索引名和索引表达式均是&会员号&;另一个的索引名和索引表达式均是& 商品号&。 3.通过&会员号&字段建立客户表Customer和订单表OrderItem之间的永久联系(注意不要建立多余的 联系)。 4.为以上建立的联系设置参照完整性约束:更新规则为&级联&;删除规则为&限制&;插入规则为&限 制&。 解题思路: 解题思路: 第1题:打开考生文件夹下的&Ecommerce&数据库,打开数据库菜单选择&添加表(A)&,在 弹出的&打开&对话框中,选定考生文件夹下的OrderItem表,再点击&确定&即可,这样表OrderItem就添加 到了&Ecommerce&数据库中。 第2题:在数据库设计器中选中表OrderItem,在数据库菜单中选择&修改(Y)&,弹出表设计器,选择表 设计器界面中的&索引&标签,在索引名列中填入&PK&,在索引类型列中选择&主索引&,在索引表达式列中 填入&会员号+商品号&,用同样的方法再为OrderItem创建两个普通索引(升序),一个的索引名和索引表 达式均是&会员号&;另一个的索引名和索引表达式均是&商品号&,点击&确定&按钮,保存表结构。 第3题:在数据库设计器中,选中customer表中的索引&会员号&并拖动到表OrderItem的&会员号&的索 引上并松开,这样两个表之间就建立起了永久联系。 第4题:在第3题建立好永久联系之后,在两处表的&会员号&索引之间有一条线,单击这条表示两个表 之间联系的线,线会加粗,此时在主菜单中选择&数据库&中的&编辑参照完整性(I)&,系统弹出&参照完整 性生成器&对话框,在&更新规则&标签中,选择&级联&规则,在&删除&规则中选择&限制&,在&插入规则& 中选择&限制&,单击&确定&保存所编辑的参照完整性。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下完成如下简单应用: 1.建立查询qq,查询会员的会员号(来自Customer表)、姓名(来自Customer表)、会员所购买的商 品名(来自article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价 * OrderItem.数量),结果不要进行排序,查询去向是表ss。查询保存为qq.qpr,并运行该查询。 2.使用SQL命令查询小于30岁(含30岁)的会员的信息(来自表Customer),列出会员号、姓名和年 龄,查询结果按年龄降序排序存入文本文件cut_ab.txt中,SQL命令存入命令文件cmd_ab.prg。 解题思路: 解题思路: 第1题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将&Customer&表, &article&表,&OrderItem&表添加到查询设计器中(将&article&表和&OrderItem&表通过&商品号&字段建 立关联,将&Customer&表和&OrderItem&表通过&会员号&字段建立关联),在&字段&选项卡选择题面中要求 的会员号、姓名、商品名、单价、数量字段,金额需要通过计算得到,在函数和表达式处输入&OrderItem. 单价 * OrderItem.数量 as 金额&,单击&添加&按钮;单击查询菜单下的查询去向,选择表,输入表名ss, 最后将查询保存在qq.qpr文件中,并运行该查询。 第2题:SQL命令为:SELECT 会员号,姓名,年龄 FROM Customer WHERE 年龄&=30 order by 年龄 DESC TO FILE cut_ab.txt,然后将此命令保存在cmd_ab.prg文件中。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置): 设计一个名称为myform的表单(文件名和表单名均为myform),其中有一个标签Lable1(日期)、一 个文本框Text1和两个命令按钮command1(&查询&)和command2(&退出&),如下图所示: 然后在表单设计器环境下进行如下操作: 1.将表单的标题设置为&综合应用&。 2.将文本框的初始值设置为表达式date()。 3.设置&查询&命令按钮的Click的事件代码,其功能是:根据文本框Text1中的输入日期,查询各会员 在指定日期后(大于等于指定日期)签订的各商品总金额,查询结果的字段包括&会员号&(来自Customer 表)、&姓名&和&总金额&三项,其中&总金额&为各商品的数量(来自Orderitem表)乘以单价(来自Article 表)的总和;查询结果的各记录按总金额升序排序;查询结果存放到表dbfa.dbf中。 4.设置&退出&命令按钮的Click的事件代码,其功能是:关闭并释放表单。 最后运行表单,在文本框中输入,并单击&查询&命令按钮。 解题思路: 解题思路: ①在命令窗口输入命令:CREATE FORM myform,打开表单设计器窗口。 ②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。 ③设置标签、&退出&命令按钮、表单的Caption属性值以及表单的Name属性值。将&查询&命令按钮的 Caption属性值设置为&查询(\&R)&。 ④将文本框的Value属性值设置为&=date()&。 ⑤设置&查询&按钮的Click事件代码: SELECT Customer.会员号,Customer.姓名,sum(Orderitem.数量*Article.单价) as 总金额; FROM customer,orderitem, WHERE Article.商品号=Orderitem.商品号 AND Customer.会员号=Orderitem.会员号 AND; Orderitem.日期&=ctod(thisform.Text1.Text); ORDER BY 3 GROUP BY Customer.会员号; INTO TABLE dbfa.dbf ⑥设置&退出&按钮的Click事件代码: THISFORM.RELEASE ⑦保存表单并运行,在文本框中输入 03/08/2003,并单击&查询&命令按钮。 2010年国家二级VFP新题第三套 2010年国家二级VFP新题第三套 年国家二级VFP新题第三 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是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分) 简单应用( 小题,每题20分 20 40分 在考生目录下完成如下简单应用: 1.用SQL语句完成下列操作:检索客户名为&lilan&所定商品的商品名和单价,结果按单价降序存入 book_temp表中。 2.首先创建数据库order_m,并向其中添加order和orderitem表。然后在数据库中创建视图viewone: 利用该视图只能查询商品号为a00002的商品的订购信息。查询结果依次包含订单号、签订日期和数量三项 内容。各记录按订单号升序排序,最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表 tabletwo中。 解题思路: 解题思路: 第1题:本题的考查点是利用SQL_SELECT语句建立查询。其命令如下: SELECT Goods.商品名,Goods.单价 FROM goods,orderitem, WHERE Orderitem.订单号=Order.订单号 AND; Goods.商品号=Orderitem.商品号 AND Order.客户名=&lilan&; ORDER BY Goods.单价 DESC INTO TABLE book_temp.dbf 第2题:创建数据库可以使用&文件&菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器 中依次添加order和orderitem表。再通过新建命令打开视图设计器,在&添加表或视图&对话框中添加order 和orderitem表,并设置两表间的联系;在&字段&选项卡中选择订单号、签订日期和数量3个字段;切换到& 筛选&选项卡,在其中进行如下设置: 字段名 orderitem.商品号 条件 = 实例 &a00002&切换到&排序依据&中选择字段&order.订单号&,在&排序选项&处选择&升序&,最后将视图保存在viewone 文件中。利用刚创建的视图viewone查询视图中的全部信息,在&添加表或视图&对话框中选择viewone视图, 在字段中选择所有字段,设置查询去向为表tabletwo。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会 在当前vfp系统菜单的末尾追加一个&考试&子菜单,如下图所示。菜单命令&计算&和&返回&的功能都通过执行过程完成。 菜单命令&计算&的功能如下: (1)用ALTER TABLE语句在order表中添加一个&总金额&字段,该字段为数值型,宽度为7,小数位数 为2。 (2)根据orderitem表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含 的各商品的金额之和,每种商品的金额等于数量乘以单价),并填入刚才建立的字段中。 菜单命令&返回&的功能是恢复标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行&计算&和&返回&菜单命令。 解题思路: 解题思路: 1、建立菜单可以使用&文件&菜单完成,选择文件--新建--菜单--新建文件打开菜单设计 器。打开&显示&菜单下的&常规选项&对话框,在&位置&处选择追加,则新建立的子菜单会在当前vfp系统菜 单后显示。 2、在菜单名称中填入&考试&,结果为子菜单,单击创建;在子菜单的菜单名称中输入&计算&,结果为 过程。在过程中输入下列命令: ALTER TABLE order ADD COLUMN 总金额 N(7,2) CLOSE DATA USE Order GO TOP DO WHILE NOT EOF() SELECT sum(Orderitem.数量*Goods.单价) FROM orderitem, WHERE Orderitem.商品号=Goods.商品号 AND orderitem.订单号=Order.订单号; GROUP BY Orderitem.订单号 INTO ARRAY A REPLACE 总金额 WITH A[1] SKIP ENDDO 在菜单名称中填入&返回&,结果为过程,在过程中输入此命令:SET SYSMENU TO DEFAULT。 3、最后保存菜单mymenu.mnx,并生成菜单程序mymenu.mpr,且运行菜单程序并依次执行&计算&和&返 回&菜单命令。 2010年国家二级VFP新题第四套 2010年国家二级VFP新题第四套 年国家二级VFP新题第四 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 基本操作题(共四小题, 题是7 在考生文件夹下有一表单文件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分) 简单应用( 小题,每题20分 20 40分 1.编写SELECT语句,从customers(客户)表中统计各年份出生的客户人数。统计结果依次包含&年份 &和&人数&两个字段,各记录按年份升序排序,统计结果存放在tableone表中。最后要执行该SELECT语句, 并将该SELECT语句存放在命令文件pone.prg中。 2.首先创建数据库orders_m,并向其中添加customers(客户)和orders(订单)表。然后在数据库 中创建视图viewone:利用该视图只能查询2007年签订的订单信息,查询结果依次包含订单号、签订日期、 姓名(即客户姓名)和联系电话四项内容,各记录按签订日期降序排序。最后利用该视图查询视图中的全 部信息,并将查询结果存放在表tabletwo中。 解题思路: 解题思路: 第1题:本题的考查点是利用SQL_SELECT语句建立查询。其命令如下: SELECT year(Customers.出生日期) as 年份,; COUNT(Customers.客户号) as 人数; FROM 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分) 综合应用( 小题, 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.数量或其等价语句。 2010年国家二级VFP新题第五套 2010年国家二级VFP新题第五套 年国家二级VFP新题第五 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 基本操作题(共四小题, 题是7 在考生文件夹下已有customers(客户)、orders(订单)、orderitems(订单项)和goods(商品) 四个表。 在考生文件夹下完成如下操作: 1.创建一个名为&订单管理&的数据库,并将已有的customers表添加到该数据库中。 2.利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为&出生日期&。 3.在表设计器中为customers表的&性别&字段设置有效性规则,规则表达式为:性别$&男女&,出错提 示信息是:&性别必须是男或女&。 4.利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为&客户号&,索引存 放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。 解题思路: 解题思路: 1、创建数据库可以使用&文件&菜单完成,选择文件--新建--数据库--新建文件,在数据 库设计器中添加customers表。 2、在customers表设计器中的索引选项卡建立索引名为bd,索引表达式为&出生日期&的普通索引。 3、建立有效性规则在表设计器中的字段选项卡中设置。在&规则&栏中输入:性别$&男女&,&提示信息 &栏输入:&性别必须是男或女&。 4、 建立普通索引的命令为: INDEX ON 客户号 TAG khh of customers.cdx, 然后将此命令保存在pone.prg 文件中。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 1.在考生文件夹下创建表单文件formone.scx,如下图所示,其中包含一个标签Label1、一个文本框 Text1和一个命令按钮Command1。然后按相关要求完成相应操作。(1)如图所示设置表单、标签和命令按钮的Caption属性。 (2)设置文本框的Value属性值为表达式Date()。 (3)设置&查询&按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从 customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录 按出生日期降序排序,查询去向为表tableone。 最后运行该表单,查询日以后出生的客户。 2.向名为&订单管理&的数据库(在基本操作题中建立)添加orderitems表。然后在数据库中创建视图 viewone:利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含商品号和订购总 量(即所有订单对该商品的订购数量之和)两项内容,各记录按商品号升序排序。最后利用该视图查询视 图中的全部信息,并将查询结果存放在表tabletwo中。 解题思路: 解题思路: 第1题: ①在命令窗口输入命令:CREATE FORM formone,打开表单设计器窗口。 ②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。 ③设置标签、&查询&命令按钮、表单的Caption属性值。 ④将文本框的Value属性值设置为&=date()&。 ⑤设置&查询&按钮的Click事件代码: SELECT 姓名,性别,出生日期 FROM WHERE 出生日期&=ctod(thisform.Text1.Text); ORDER BY 出生日期 DESC; INTO TABLE tableone.dbf ⑥保存表单并运行,在文本框中输入01/01/1980,并单击&查询&命令按钮。 第2题:打开&订单管理&数据库,单击&数据库&菜单中的&添加表&,将orderitems表添加到数据库中, 新建&本地视图&,添加&orderitems&表到视图中,先选择&商品号&字段,再在&函数与表达式&中输入 &SUM(Orderitems.数量) AS 订购总量&,单击&添加&按钮,在&排序依据&中选择按&商品号&升序,&分组依 据&中选择&商品号&,以文件名viewone保存该视图。利用刚创建的视图viewone查询视图中的全部信息,在 &添加表或视图&对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下创建一个顶层表单myform.scx(表单的标题为&考试&),然后创建并在表单中添加菜 单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。效果如下图所示。1)菜单命令&计算&和&退出&的功能都通过执行过程完成。 2)菜单命令&计算&的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订 单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并将计算的结果填 入orders表的相应字段中。 3)菜单命令&退出&的功能是释放并关闭表单。 最后,请运行表单并依次执行其中的&计算&和&退出&菜单命令。 解题思路: 解题思路: 1、建立表单:可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 2、修改表单各属性值,CAPTION=&考试&。将表单以myform.scx为文件名保存在考生文件夹下。 3、建立菜单:可通过&文件&菜单下的&新建&命令或用命令CREATE MEMU打开菜单设计器。点击&显示& 菜单下的&常规选项&命令打开&常规选项&对话框,选中&顶层表单&复选框。在菜单设计器中建立各菜单项, 菜单名称分别为:计算和退出。在&计算&菜单的结果列中选择&过程&,并通过单击&创建&按钮打开一个窗 口来添加&计算&菜单项要执行的命令: CLOSE DATA USE Orders GO TOP DO WHILE NOT EOF() dingdanhao=订单号 SELECT sum(Orderitems.数量* Goods.单价) FROM orderitems, WHERE Orderitems.商品号=Goods.商品号 AND orderitems.订单号= GROUP BY Orderitems.订单号 INTO ARRAY A REPLACE 总金额 WITH A[1] SKIP ENDDO 在&退出&菜单的结果列中选择&过程&,并通过单击&创建&按钮打开一个窗口来添加菜单项要执行的命 令:myform.release,用来关闭表单并返回到系统菜单。 最后点击&菜单&下的&生成&命令,生成mymenu.mpr程序。 4、将表单myform.scx中的ShowWindow属性设置为&2-作为顶层表单&,并在表单的LOAD事件中输入:do mymenu.mpr with this,'mymenu',执行菜单程序。 5、保存并运行表单,依次执行其中的&计算&和&退出&菜单命令。 2010年国家二级VFP新题第六套 2010年国家二级VFP新题第六套 年国家二级VFP新题第六 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 基本操作题(共四小题, 题是7 在考生文件夹下完成下列操作: 1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将&教师表&、&课程表& 和&学院表&三个自由表加入该数据库中。 2.为&课程表&和&教师表&分别建立主索引和普通索引,索引字段和索引名均为&课程号&,并为两个表 建立一对多的联系。 3.使用SQL语句查询&教师表&工资大于4500的教师的全部信息,查询结果按职工号升序排列,查询结 果存储到文本文件one.txt中,SQL语句存储于文件two.prg,否则不得分。 4.使用报表向导为&学院表&创建一个报表three,选择&学院表&的所有字段,其他选项取默认值。 解题思路: 解题思路: 1、打开&College&数据库,右击删除temp表。并将题面要求的三个表分别添加到数据库中。 2、打开&课程表&的表设计器,打开&索引&选项卡,在索引名处输入:课程号,类型选择&主索引&,表 达式为:课程号;再打开&教师表&的表设计器,打开&索引&选项卡,在索引名处输入:课程号,类型选择& 普通索引&,表达式为:课程号。在数据库设计器中,选中课程表中的索引&课程号&并拖动到教师表的&课 程号&的索引上并松开,这样两个表之间就建立起了永久联系。 3、查询&教师表&工资大于4500的教师的全部信息的SQL语句是:select * from 教师表 where 工 资&4500 order by 职工号 to file one.txt,然后将此命令保存在two.prg文件中。 4、打开&新建&对话框,在&文件类型&选项卡中选择&报表&,单击&向导&按钮,再选择&报表向导&,单 击&确定&按钮,打开&报表向导&设计器,然后按照&报表向导&的提示逐步创建报表three即可。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下完成下列操作: 1.请修改并执行程序four.prg,该程序的功能是:根据&学院表&和&教师表&计算&信息管理&系教师的 平均工资。注意,只能修改标有错误的语句行,不能修改其他语句。 2.在College数据库中使用视图设计器建立视图course_v,该视图根据&课程表&、&学院表&和&教师表 &建立,视图中的字段项包括:&姓名&、&课程名&、&学时&和&系名&,并且视图中只包括&学时&大于等于60 的记录,视图中的记录先按&系名&升序排列、再按&姓名&降序排列,最后查询该视图中的全部信息,并将 结果存放到se.dbf中。 解题思路: 第1题: 本题是一个程序修改题。 第一处错误应改为: SELECT 系号 FROM 学院表 WHERE 系 名=&信息管理& INTO ARRAY a;第二处错误应改为:USE 教师表;第三处错误应改为:SCAN FOR 系号=a; 第四处添加的程序为:num=num+1。 第2题:在新建对话框中、项目管理器中、或用CREAT VIEW命令打开视图设计器,建立一个视图,将& 课程表&、&学院表&和&教师表&添加到视图中,并将题中指定字段添加到视图中;切换到&筛选&中选择字段 &课程表.学时&,条件为&&=&,实例为&60&;切换到&排序依据&中选择字段&学院表.系名&,在&排序选项& 处选择&升序&,再选择字段&教师表.姓名&,在&排序选项&处选择&降序&;最后将视图命名为course_v。利 用刚创建的视图course_v查询视图中的全部信息,在&添加表或视图&对话框中选择course_v视图,在字段 中选择所有字段,设置查询去向为表se.dbf。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下完成下列操作: 1.建立一个文件名和表单名均为oneform的表单,表单中包括两个标签(Label1和Label2)、一个选 项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2 的标题分别为&系名&和&计算内容&,选项组(Optiongroup1)中有两个选项按钮option1和option2,标题 分别为&平均工资&和&总工资&,Command1和Command2的标题分别为&生成&和&退出&。如图所示。 2.将&学院表&添加到表单的数据环境中,然后手工设置组合框(Combo1)的RowSourceType属性为6、 RowSource属性为&学院表.系名&,使得程序开始运行时,组合框中有可供选择的来源于&学院表&的所有& 系名&。 3.为&生成&命令按钮编写程序。程序的功能是:表单运行时,根据组合框和选项组中选定的&系名& 和&计算内容&,将相应&系&的&平均工资&或&总工资&存入自由表salary.dbf中,表中包括&系名&、&系号& 以及&平均工资&或&总工资&三个字段。 4.为&退出&命令按钮编写程序,程序的功能是释放表单。 5.运行表单,在选项组中选择&平均工资&,在组合框中选择&信息管理&,单击&生成&命令按钮。最后, 单击&退出&命令按钮结束。 解题思路: 解题思路: ①在命令窗口输入命令:CREATE FORM oneform,打开表单设计器窗口。 ②在表单上添加各标签、选项组、组合框和命令按钮,并进行适当的布置和大小调整。根据题面要求 设置标签、选项组、组合框和命令按钮以及表单的属性值。 ③为表单添加数据库环境,在&显示&菜单下打开&数据环境&或在表单上点击右键打开&数据环境&。 ④将组合框的RowSourceType属性值设置为6,RowSource属性值设置为&学院表.系名&。 ⑤设置&生成&按钮的Click事件代码: IF thisform.optiongroup1.option1.value=1 SELECT 学院表.系名,教师表.系号,AVG(教师表.工资) as 平均工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 AND 学院表.系名=thisform.combo1. INTO TABLE salary.dbf ELSE SELECT 学院表.系名,教师表.系号,SUM(教师表.工资) as 总工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 AND 学院表.系名=thisform.combo1. INTO TABLE salary.dbf ENDIF ⑥设置&退出&按钮的Click事件代码: thisform.release ⑦保存表单并运行,在选项组中选择&平均工资&,在组合框中选择&信息管理&,单击&生成&命令按钮, 最后,单击&退出&命令按钮。 2010年国家二级VFP新题第七套 2010年国家二级VFP新题第七套 年国家二级VFP新题第七 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 基本操作题(共四小题, 题是7 在考生文件夹下完成下列操作: 1.新建一个数据库文件College,将自由表&教师表&、&课程表&和&学院表&加入该数据库。 2.通过表设计器为&教师表&的&职工号&字段增加有效性规则:职工号的最左边四位字符是&1102&。 3.打开one.prg文件,修改其中的一处错误,使得程序执行的结果是在屏幕上显示2 注意:错误只有一处,文件修改之后要存盘。 4.使用表单向导为&课程表&建立表单two,选择&课程表&的所有字段,其他选项取默认值。 解题思路: 解题思路: 1、创建数据库可以使用&文件&菜单完成,选择文件--新建--数据库--新建文件,在数据 库设计器中依次添加&教师表&、&课程表&和&学院表&。 2、在教师表的表设计器中,选中&职工号&字段,并在&字段有效性&的&规则&文本框中输入:LEFT(职 工号,4)=&1102&。点击&确定&按钮,保存对表结构的修改。 3、打开one.prg程序,将第4条语句修改为:i=i+2。 4、打开&新建&对话框,在&文件类型&选项卡中选择&表单&,单击&向导&按钮,再选择&表单向导&,然 后按照表单向导操作即可。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下完成下列操作: 1.请修改并执行程序four.prg。程序four.prg的功能是:计算每个系的平均工资和最高工资并存入表 three.dbf中,要求three.dbf中包含&系名&、&平均工资&和&最高工资&字段,先按&最高工资&降序排列, 再按&平均工资&降序排列。 2.使用查询设计器建立查询course_q并执行,查询的数据来源是&课程表&、&教师表&,查询的字段项 包括:&姓名&、&课程名&、&学时&,并且查询结果中只包括&学时&大于等于60的记录,查询去向是表文件 five.dbf,查询结果先按&学时&升序排列、再按&姓名&降序排列。 解题思路: 解题思路: 第1题:本题是一个程序修改题。修改后的程序为: SELECT 系名,avg(工资) as 平均工资,max(工资) as 最高工资; FROM 教师表,学院表 WHERE 教师表.系号=学院表.系号; GROUP BY 学院表.系号; ORDER BY 3 DESC,2 DESC; INTO table three 第2题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将&课程表&和&教师 表&添加到查询设计器中,在&字段&选项卡选择&姓名&、&课程名&、&学时&字段;切换到&筛选&中选择&课 程表.学时&,&条件&选择&&=&,&实例&中输入60;切换到&排序依据&中选择字段&课程表.学时&,在&排序 选项&处选择&升序&,选择&教师表.姓名&字段,在&排序选项&处选择&降序&;单击查询菜单下的查询去向, 选择表,输入表名five,最后将查询保存在course_q.qpr文件中,并运行该查询。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下完成下列操作: 4 6 8 10。 1. 建立一个文件名和表单名均为oneform的表单, 表单中一个页框Pageframe1和两个命令按钮Command1 (生成)和Command2(退出),Pageframe1中有两个页面(Page1和Page2),标题分别为&系名&和&计算方 法&,Page1中有一个组合框(Combo1),Page2中有一个选项组(Optiongroup1),选项组(Optiongroup1) 中有两个选项按钮,标题分别为&平均工资&和&总工资&如图所示。 2.将&学院表&添加到表单的数据环境中,然后手工设置组合框(Combo1)的RowSourceType属性为6、 RowSource属性为&学院表.系名&,使得程序开始运行时,组合框中有可供选择的来源于&学院表&的所有& 系名&。 3.为&生成&命令按钮编写程序。程序的功能是:表单运行时,根据选项组和组合框中选定的&系名& 和&计算方法&,将相应&系&的&平均工资&或&总工资&存入自由表salary.dbf中,表中包括&系名&、&系号& 以及&平均工资&或&总工资&三个字段。 4.为&退出&命令按钮编写程序。程序的功能是:释放表单。 5.运行表单,在选项组中选择&总工资&,在组合框中选择&通信&,单击&生成&命令按钮进行计算。最 后,单击&退出&命令按钮结束。 解题思路: 解题思路: ①在命令窗口输入命令:CREATE FORM oneform,打开表单设计器窗口。 ②在表单上添加页框、组合框、选项组和命令按钮,并进行适当的布置和大小调整。根据题面要求设 置页框、组合框、选项组和命令按钮以及表单的属性值。 ③为表单添加数据库环境,在&显示&菜单下打开&数据环境&或在表单上点击右键打开&数据环境&。 ④将组合框的RowSourceType属性值设置为6,RowSource属性值设置为&学院表.系名&。 ⑤设置&生成&按钮的Click事件代码: IF thisform.Pageframe1.Page2.optiongroup1.option1.value=1 SELECT 学院表.系名,教师表.系号,AVG(教师表.工资) as 平均工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 AND 学院表.系名 =thisform.Pageframe1.Page1.combo1. INTO TABLE salary.dbf ELSE SELECT 学院表.系名,教师表.系号,SUM(教师表.工资) as 总工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 AND 学院表.系名 =thisform.Pageframe1.Page1.combo1. INTO TABLE salary.dbf ENDIF ⑥设置&退出&按钮的Click事件代码: thisform.release ⑦保存表单并运行,在选项组中选择&总工资&,在组合框中选择&通信&,单击&生成&命令按钮进行计 算。最后,单击&退出&命令按钮结束。 2010年国家二级VFP新题第八套 2010年国家二级VFP新题第八套 年国家二级VFP新题第八 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下有一表单文件myform.scx,其中包含&请输入(s)&标签、Text1文本框,以及&确定&命 令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作: 1.将表单的名称设置为myform;将表单的标题设置为&表单操作&。 2.按标签、文本框和命令按钮的顺序设置表单内三个控件的Tab键次序。 3. 为表单新建一个名为mymethod的方法, 方法代码为: wait &文本框的值是&+this.text1.value window 4.将&请输入(s)&标签中的字母s设置成&访问键&(方法是在该字符前插入&\&&);设置&确定&按钮的 Click事件代码,其功能是调用表单的mymethod方法。 解题思路: 解题思路: 1、打开表单myform,将表单的Name属性值设置为myform,Caption属性值设置为&表单操 作&。 2、将标签的TabIndex属性设置为1,文本框的TabIndex属性设置为2,命令按钮的TabIndex属性设置为 3。 3、在&表单&菜单中选择&新建方法程序&命令,新建一个名为mymethod的方法,在myform表单的属性窗 口中双击此方法打开用户自定义过程代码,输入:wait &文本框的值是&+this.text1.value window 4、将&请输入(s)&标签的Caption属性设置为:请输入(\&s)。设置&确定&按钮的Click事件代码为: thisform.mymethod。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下已有order、 orderitem和goods三个表。 其中, order表包含订单的基本信息, orderitem 表包含订单的详细信息,goods表包含商品(图书)的相关信息。 1.利用查询设计器创建查询,从order、orderitem和goods表中查询所有订单的信息,查询结果依次 包含订单号、客户名、签订日期、商品名、单价、数量和金额等七项内容,其中&金额&等于&单价*数量&。 各记录按订单号降序排序;订单号相同按商品名降序排序。查询去向为表tableone。最后将查询保存在 queryone.qpr文件中,并运行该查询。 2.首先创建数据库order_m,并向其中添加order、orderitem和goods表。然后在数据库中创建视图 viewone:利用该视图只能查询客户名为lilan的所有订单的信息,查询结果依次包含订单号、签订日期、 商品名、单价和数量等五项内容。各记录按订单号升序排序;订单号相同按商品名升序排序。最后利用刚 创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 解题思路: 解题思路: 第1题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将 order、orderitem和goods表添加到查询设计器中,并设置三表间的联系。在&字段&选项卡选择&订单号&、 &客户名&、&签订日期&、&商品名&、&单价&和&数量&字段,再在&函数和表达式&中输入&Goods.单价 *Orderitem.数量 AS 金额&,单击&添加&按钮;切换到&排序依据&中选择字段&order.订单号&,在&排序选 项&处选择&降序&, 再选择字段&Goods.商品名&, 在&排序选项&处选择&降序&; 单击查询菜单下的查询去向, 选择表,输入表名tableone,最后将查询保存在queryone.qpr文件中,并运行该查询。 第2题:创建数据库可以使用&文件&菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器 中依次添加order、orderitem和goods表。再通过新建命令打开视图设计器,在&添加表或视图&对话框中添 加order、orderitem和goods表,并设置三表间的联系;在&字段&选项卡中选择订单号、签订日期、商品名、 单价和数量5个字段;切换到&筛选&选项卡,在其中进行如下设置: 字段名 order.客户名 条件 = 实例 &lilan&切换到&排序依据&中选择字段&order.订单号&,在&排序选项&处选择&升序&,再选择字段&Goods.商品名&, 在&排序选项&处选择&升序&,最后将视图保存在viewone文件中。利用刚创建的视图viewone查询视图中的 全部信息,新建一个查询,在&添加表或视图&对话框中选择viewone视图,在字段中选择所有字段,设置查 询去向为表tabletwo。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生目录下建立表单文件formone.scx,要求包含一个标签、一个文本框和一个命令按钮(它们的名 称依次为Label1、Text1和Command1);表单的标题为&综合应用&。如下图所示:请设置&确定&按钮的Click事件代码,使得当表单运行时,单击命令按钮可以查询指定商品(由用户在 文本框给定商品号)的订购信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量等 六项内容。各记录按订单号升序排序。查询结果存放在表tablethree中。 最后运行表单,然后在文本框中输入商品号a00002,并单击&确定&按钮完成查询。 解题思路: 解题思路: ①建立表单: 可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 ②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。 ③设置标签、命令按钮、表单的Caption属性值。 ④设置&确定&按钮的Click事件代码: select Order.*,Goods.商品名,Goods.单价,Orderitem.数量; from goods,orderitem, where Order.订单号=Orderitem.订单号 and Goods.商品号=Orderitem.商品号; and Goods.商品号=thisform.Text1.T order by Order.订单号 into table tablethree.dbf ⑤保存表单并运行,在文本框中输入a00002,并单击&确定&命令按钮。 2010年国家二级VFP新题第九套 2010年国家二级VFP新题第九套 年国家二级VFP新题第九 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下已有order、 orderitem和goods三个表。 其中, order表包含订单的基本信息, orderitem 表包含订单的详细信息,goods表包含商品(图书)的相关信息。 在考生文件夹下完成如下操作: 1.创建一个名为&订单管理&的数据库,并将已有的order、orderitem和goods三个表添加到该数据库 中。 2.在表设计器中为order表建立一个普通索引,索引名为nf,索引表达式为&year(签订日期)&。 3.通过&订单号&在order表和orderitem表之间建立一个一对多的永久联系,它们的和索引表达式均为 &订单号&。 4.为上述建立的联系设置参照完整性约束:更新规则为&限制&,删除规则为&级联&,插入规则为&限 制&。 解题思路: 解题思路: 1、创建数据库可以使用&文件&菜单完成,选择文件--新建--数据库--新建文件,输入 数据库名称为&订单管理&,在数据库设计器中依次添加order、orderitem和goods表。 2、打开order表的表设计器,打开&索引&选项卡,在索引名处输入:nf,类型选择&普通索引&,表达 式为:year(签订日期)。 3、接着,在索引名处输入:订单号,类型选择&主索引&,表达式为:订单号。再打开orderitem表的 表设计器,打开&索引&选项卡,在索引名处输入:订单号,类型选择&普通索引&,表达式为:订单号。在 数据库设计器中,选中order表中的索引&订单号&并拖动到orderitem表的&订单号&的索引上并松开,这样 两个表之间就建立起了永久联系。 4、为联系指定参照完整性:在联系上单击右键,打开&编辑参照完整性&对话框或者在&数据库&菜单中 选择&编辑参照完整性&,打开&参照完整性&生成器。选择更新规则为&限制&,删除规则为&级联&,插入规 则为&限制&。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 1.利用查询设计器创建查询,从order、orderitem和goods表中查询2001年签订的所有订单的信息, 查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量等六项内容。各记录按订单号降序排 序;订单号相同按商品名降序排序。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并 运行该查询。 2.在考生文件夹下已有表单文件myform.scx,其中包含一个标签、一个文本框和一个命令按钮(不要 改变它们的名称)。如下图所示:请设置&确定&按钮的Click事件代码,使得当表单运行时,单击命令按钮可以查询在文本框中输入的指 定客户的所有订单的信息,查询结果依次包含订单号、签订日期、商品名、单价和数量等五项内容。各记 录按订单号升序排序;订单号相同按商品名升序排序,并将查询结果存放在表tabletwo中。 设置完成后运行表单,然后在文本框中输入客户名lilan,并单击&确定&按钮完成查询。 解题思路: 解题思路: 第1题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将 order、orderitem和goods表添加到查询设计器中,并设置三表间的联系。在&字段&选项卡选择&订单号&、 &客户名&、&签订日期&、&商品名&、&单价&和&数量&字段;切换到&筛选&中,在&字段名&的表达式中输入: YEAR(Order.签订日期),&条件&中选择&=&,&实例&中输入:2001;切换到&排序依据&中选择字段&order. 订单号&,在&排序选项&处选择&降序&,再选择字段&Goods.商品名&,在&排序选项&处选择&降序&;单击查 询菜单下的查询去向,选择表,输入表名tableone,最后将查询保存在queryone.qpr文件中,并运行该查 询。 第2题:设置&确定&按钮的Click事件代码: select Order.订单号,Order.签订日期,Goods.商品名,Goods.单价,Orderitem.数量; from goods,orderitem, where Order.订单号=Orderitem.订单号 and Goods.商品号=Orderitem.商品号; and Order.客户名=thisform.Text1.T order by Order.订单号,Goods.商品名 into table tabletwo.dbf 保存表单并运行,在文本框中输入lilan,并单击&确定&命令按钮。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会 在当前vfp系统菜单的末尾追加一个&考试&子菜单,如下图所示。菜单命令&计算&和&返回&的功能都通过执行过程完成。 菜单命令&计算&的功能是计算各商品在2001年的订购总金额 (若某商品没有被订购, 则其总金额为零) 。 计算结果保存在tablethree表中,其中包含商品名和总金额两个字段,各记录按商品名升序排序。 提示:可分两步完成,首先从表order和orderitem中获取2001年订单有关商品数量的信息,并保存在 临时表中;然后再将表goods与临时表进行左联接,并完成总金额的计算。 菜单命令&返回&的功能是恢复标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行&计算&和&返回&菜单命令。 解题思路: 解题思路: 1、建立菜单可以使用&文件&菜单完成,选择文件--新建--菜单--新建文件打开菜单设计 器。打开&显示&菜单下的&常规选项&对话框,在&位置&处选择追加,则新建立的子菜单会在当前vfp系统菜 单后显示。 2、在菜单名称中填入&考试&,结果为子菜单,单击创建;在子菜单的菜单名称中输入&计算&,结果为 过程。在过程中输入下列命令: select orderitem.商品号,orderitem.数量; from order
on order.订单号=orderitem.订单号; where year(order.签订日期)=2001; into table tmp.dbf select goods.商品名,sum(goods.单价*tmp.数量) as 总金额; from goods on goods.商品号=tmp.商品号; group by goods.商品名; order by goods.商品名; into table three.dbf do while not eof() if isnull(总金额) replace 总金额 with 0 endif skip enddo 在菜单名称中填入&返回&,结果为过程,在过程中输入此命令:SET SYSMENU TO DEFAULT。 3、最后保存菜单mymenu.mnx,并生成菜单程序mymenu.mpr,且运行菜单程序并依次执行&计算&和&返 回&菜单命令。 2010年国家二级VFP新题第十套 2010年国家二级VFP新题第十套 年国家二级VFP新题第十 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下,有一个学生数据库SDB,打开该数据库,完成如下操作: 1.为学生表STUDENT的&性别&字段增加约束:性别$&男女&,出错提示信息为&性别必须是男或女&,默 认值为&女&。 2.为学生表STUDENT创建一个主索引,主索引的索引名为sid,索引表达式为学号。为课程表COURSE 创建一个主索引,主索引的索引名为cid,索引表达式为课程号。为选课表SC创建一个主索引和两个普通索 引(升序),主索引的索引名为scid,索引表达式为&学号+课程号&;一个普通索引的索引名为sid,索引 表达式为学号;另一个普通索引的索引名为cid,索引表达式为课程号。 3.通过&学号&字段建立选课表SC和学生表STUDENT表间的永久联系。通过&课程号&字段建立选课表SC 与课程表COURSE间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为&级联&;删除规则 为&限制&;插入规则为&限制&。 4.使用报表向导建立一个简单报表。要求选择学生表STUDENT表中所有字段;记录不分组;报表样式 为随意式;列数为&1&,字段布局为&列&,方向为&纵向&;排序字段为&学号&,升序;报表标题为&学生基 本情况一览表&;报表文件名为ONE.FRX。 解题思路: 解题思路: 1、利用&文件&菜单下的&打开&命令打开数据库&SDB&。再打开&STUDENT&表的表设计器, 选择&性别&字段,在其字段有效性规则栏中输入:性别$&男女&,在信息栏中输入:&性别必须是男或女&, 在默认值栏中输入:&女&。 2、打开STUDENT表的表设计器,打开&索引&选项卡,在索引名处输入:sid,类型选择&主索引&,表达 式为:学号。打开COURSE表的表设计器,打开&索引&选项卡,在索引名处输入:cid,类型选择&主索引&, 表达式为:课程号。再打开SC表的表设计器,打开&索引&选项卡,在索引名处输入:scid,类型选择&主索 引&,表达式为:学号+课程号;接着,在索引名处输入:sid,类型选择&普通索引&,升序,表达式为:学 号;再在索引名处输入:cid,类型选择&普通索引&,升序,表达式为:课程号。 3、在数据库设计器中,选中STUDENT表中的索引&sid&并拖动到SC表的&sid&的索引上并松开,这样两 个表之间就建立起了永久联系。再选中COURSE表中的索引&cid&并拖动到SC表的&cid&的索引上并松开。建 立好永久联系之后,在两处表的&sid&索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗, 此时在主菜单中选择&数据库&中的&编辑参照完整性(I)&,系统弹出&参照完整性生成器&对话框,在&更新 规则&标签中,选择&级联&规则,在&删除&规则中选择&限制&,在&插入规则&中选择&限制&,单击&确定& 保存所编辑的参照完整性。再用同样的方法设置SC与COURSE间的永久联系的参照完整性。 4、启动报表向导可在&文件&菜单中选择&新建&或者单击工具栏上的&新建&按钮,打开&新建&对话框, 文件类型选择报表,单击向导按钮,然后按照向导提示操作即可。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下,打开学生数据库SDB,完成如下简单应用: 1.使用查询设计器设计一个名称为TWO的查询,查询每个同学的学号(来自STUDENT表)、姓名、课程 名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是TWO。设计完成后,运行 该查询。 2.修改一个名称为THREE.PRG的命令文件。该命令文件用来查询平均成绩大于等于75分以上的每个& 女&同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表THREE中。该命令文件在 第2行、第3行、第4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改), 打开该命令文件,直接在错误处修改并保存。 注意:修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。 解题思路: 解题思路: 第1题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将 &STUDENT&、&SC&和&COURSE&表添加到查询中,从字段选项卡中依次选择&学号&、&姓名&、&课程名&和&成 绩&;切换到&排序依据&选项卡并在其中选择字段&课程名&,排序选项为&升序&,再选择&成绩&,排序选项 为&降序&;单击查询菜单下的&查询去向&,选择表,在&表名&右边的对话框中输入表名TWO,最后运行该查 询。 第2题:利用&文件&菜单下的&打开&命令打开程序文件THREE.PRG。将命令文件修改为: OPEN DATABASE sdb SELECT student.学号,姓名,AVG(成绩) 平均成绩,COUNT(成绩) 选课门数; FROM student JOIN sc ON student.学号=sc.学号; WHERE 性别 = &女&; GROUP BY student.学号 HAVING AVG(成绩)&= 75; ORDER BY 4 INTO TABLE three 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,先打开学生数据库SDB,然后创建一个文件名为form的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下: 1.&查询&按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令查询每个学生所选的所有 课程的成绩都是60分以上(包括60分)的学生的学号、姓名、平均成绩和最低分,并将查询结果按学号升 序排序存储到表FOUR中。表FOUR的字段为学号、姓名、平均成绩、最低分。 2.&退出&按钮(Command2):单击&退出&按钮时,关闭表单。 表单设计完成后,运行该表单进行查询。 解题思路: 解题思路: ①建立表单: 可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 ②在表单上添加两个命令按钮,并进行适当的布置和大小调整。 ③设置命令按钮的Caption属性值。 ④设置&查询&按钮的Click事件代码: SELECT Student.学号,Student.姓名,AVG(成绩) AS 平均成绩,; MIN(成绩) AS 最低分; FROM sdb!student INNER JOIN sdb! ON Student.学号=Sc.学号; GROUP BY Student.学号 HAVING MIN(成绩)&=60; ORDER BY Student.学号; INTO TABLE four.dbf ⑤设置&退出&按钮的Click事件代码: thisform.release ⑥保存表单并运行,单击&查询&按钮,再单击&退出&按钮。 2010年国家二级VFP新题第十一套 2010年国家二级VFP新题第十一套 年国家二级VFP新题第十一 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下,有一个学生数据库SDB,打开该数据库,完成如下操作: 1.在学生表STUDENT中增加一个名为&照片&的字段、字段数据类型为&通用&。 2.在教师表TEACHER中建立一个索引名为&教师号&的主索引(升序),索引表达式为教师号。在课程 表COURSE中建立一个普通索引(升序),索引名为&教师号&,索引表达式为教师号。 3.建立选课表SC和学生表STUDENT之间的永久联系;建立选课表SC与课程表COURSE之间的永久联系; 建立教师表TEACHER和课程表COURSE之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则 为&级联&;删除规则为&限制&;插入规则为&限制&。 4.使用表单向导建立一个名称为sform的表单。要求选择学生表STUDENT中所有字段;表单样式为阴影 式;按钮类型为图片按钮;选定排序字段为学号(升序);表单标题为&学生表数据输入&。 解题思路: 解题思路: 1、打开STUDENT表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类 型。 2、打开TEACHER表的表设计器,打开&索引&选项卡,在索引名处输入:教师号,类型选择&主索引&, 升序,表达式为:教师号。打开COURSE表的表设计器,打开&索引&选项卡,在索引名处输入:教师号,类 型选择&普通索引&,升序,表达式为:教师号。 3、在数据库设计器中,选中STUDENT表中的索引&学号&并拖动到SC表的&学号&的索引上并松开,这样 两个表之间就建立起了永久联系。建立好永久联系之后,在两处表的&学号&索引之间有一条线,单击这条 表示两个表之间联系的线,线会加粗,此时在主菜单中选择&数据库&中的&编辑参照完整性(I)&,系统弹出 &参照完整性生成器&对话框,在&更新规则&标签中,选择&级联&规则,在&删除&规则中选择&限制&,在& 插入规则&中选择&限制&, 单击&确定&保存所编辑的参照完整性。 再用同样的方法设置SC与COURSE、 TEACHER 与COURSE间的永久联系和参照完整性。 4、启动表单向导可在&文件&菜单中选择&新建&或者单击工具栏上的&新建&按钮,打开&新建&对话框, 文件类型选择表单,单击向导按钮,然后按照向导提示操作即可。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下,打开学生数据库SDB,完成如下简单应用: 1.使用查询设计器设计一个名称为SVG的查询,查询每个&女&同学的学号(来自STUDENT表)、姓名、 课程名、成绩和任课教师(来自Teacher表的教师名),查询结果按学号升序排序并输出到表ONE(查询去 向)中。设计完成后,运行该查询。表ONE中的字段分别为:学号、姓名、课程名、成绩、任课教师。 2.在考生文件夹下,使用快捷菜单设计器设计一个名称为SMENU的快捷菜单。要求如下: 菜单包括&数据浏览&和&退出&两个菜单项: (1)&数据浏览&菜单包括&学生表&、&选课表& 和&课程表&三个子菜单: ①学生表子菜单在过程中使用SQL语句&SELECT * FROM STUDENT&查询学生表的记录。 ②选课表子菜单在过程中使用SQL语句&SELECT * FROM SC&查询学生选课表的记录。 ③课程表选项在过程中使用SQL语句&SELECT * FROM COURSE&查询课程表的记录。 (2)&退出&菜单使用命令返回系统默认的菜单。 解题思路: 解题思路: 第1题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将 &STUDENT&、&SC&、&COURSE&和&Teacher&表添加到查询中,从字段选项卡中依次选择&学号&、&姓名&、& 课程名&、&成绩&,在&函数和表达式&中输入&教师名 AS 任课教师&,并添加到选定字段中;切换到&排序 依据&选项卡并在其中选择字段&学号&,排序选项为&升序&;切换到&筛选&选项卡并在其中选择字段: Student.性别,条件为:=,实例为:&女&;单击查询菜单下的&查询去向&,选择表,在&表名&右边的对话 框中输入ONE,最后运行该查询。 第2题:在&文件&菜单中选择&新建&,在&新建&对话框中选择&菜单&,单击&新建文件&按钮,选择&快 捷菜单&,在菜单设计器中输入两个菜单项&数据浏览&和&退出&,结果为&子菜单&和&命令&。在&退出&菜单 项的选项列中输入SET SYSMENU TO DEFAULT。单击&数据浏览&右边的&创建&,输入三个菜单项&学生表&、& 选课表&和&课程表&,结果为&过程&,输入题面中要求的SQL语句。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,先打开学生数据库SDB,然后创建文件名为tform的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下: (1)&查询&按钮(Command1):在该按钮的&Click&事件中使用SQL的SELECT命令查询选课数量大于等 于4门且平均成绩大于等于75分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序 排序并存储到表TWO中。表TWO中的字段名分别为:学号、姓名、平均成绩、选课门数。 (2)&退出&按钮(Command2):单击&退出&按钮时,关闭表单。 表单设计完成后,运行该表单,点击&查询&按钮进行查询。 解题思路: 解题思路: ①建立表单:可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 ②在表单上添加两个命令按钮,并进行适当的布置和大小调整。 ③设置命令按钮的Caption属性值。 ④设置&查询&按钮的Click事件代码: SELECT Student.学号,姓名,AVG(成绩) AS 平均成绩,; COUNT(*) AS 选课门数 FROM Student,Sc GROUP BY Sc.学号; HAVING COUNT(*)&=4 AND 平均成绩&=75 WHERE Student.学号=Sc.学号; ORDER BY 平均成绩 DESC INTO DBF TWO ⑤设置&退出&按钮的Click事件代码: thisform.release ⑥保存表单并运行,单击&查询&按钮,再单击&退出&按钮。 2010年国家二级VFP新题第十二套 2010年国家二级VFP新题第十二套 年国家二级VFP新题第十二 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下,打开顾客数据库CDB,完成如下操作: 1.在会员表CUS中增加一个字段,字段名为手机号,数据类型为&字符&,宽度为11;在会员购货明细 表CBC中分别给&数量&和&单价&字段设置有效性规则,要求:数量大于等于1,默认值为1;单价大于等于1, 默认值为1。 2.在会员购货明细表CBC中创建一个主索引,索引名为cbc,对应的索引表达式为会员号、商品号和日 期字段的组合(会员号+商品号+DTOC(日期));注意,日期字段是日期型数据类型,在索引表达式使用DTOC 函数将日期字段转换为字符型。 3.在会员购货明细表CBC中创建两个普通索引(升序),索引名分别为会员号和商品号,对应索引表 达式分别为会员号和商品号。建立会员表CUS与会员购货明细表CBC之间的永久联系;建立商品表COMM与会 员购货明细表CBC之间的永久联系。 4.使用SQL的SELECT语句查询会员表CUS中会员号、会员名和单位字段,将查询结果存储为NCUS表,并 将SQL的SELECT语句存储到名为ONE.PRG的文件中。 注意,查询结果不要排序。 解题思路: 解题思路: 1、打开CUS表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型和宽 度。再打开CBC表设计器,选择&数量&字段,在其字段有效性规则栏中输入:数量&=1,在默认值栏中输入: 1;选择&单价&字段,在其字段有效性规则栏中输入:单价&=1,在默认值栏中输入:1。 2、打开CBC表的表设计器,打开&索引&选项卡,在索引名处输入:cbc,类型选择&主索引&,表达式为: 会员号+商品号+DTOC(日期)。 3、接着在索引名处输入:会员号,类型选择&普通索引&,升序,表达式为:会员号;再在索引名处输 入:商品号,类型选择&普通索引&,升序,表达式为:商品号。在数据库设计器中,选中CUS表中的索引& 会员号&并拖动到CBC表的&会员号&的索引上并松开,这样两个表之间就建立起了永久联系。再用同样的方 法设置COMM与CBC间的永久联系。 4、使用SQL语句查询相应的记录值,SQL命令为: SELECT 会员号,会员名,单位 FROM cus INTO TABLE ncus.dbf 并将此语句存储到名为ONE.PRG的文件中。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下,打开会员数据库CDB,完成如下简单应用: 1.使用查询设计器设计一个名称为TWO的查询,查询2003年会员购买商品的情况,将结果按会员号排 序(升序)并输出(查询去向)到TWO表中。TWO表中的字段名分别为:会员号、会员名、商品名、金额, 其中:会员号来自会员表CUS,金额通过&数量*单价&计算。设计完成后,运行该查询。 2.修改一个名称为THREE.PRG的命令文件。该命令文件查询累计消费金额在5000元以上、每次购买数 量大于或等于10的&女&会员的会员号、会员名、单位和电话,结果输出到表THREE中。该命令文件在第3行、 第6行、第7行有错误,打开该命令文件,直接在错误处修改,不允许增加和删除行。修改完成后,运行该 命令文件。 解题思路: 建立查询可以使用&文件&菜单完成, 选择文件--新建--查询--新建文件, 将&COMM&、 解题思路: 第1题: &CBC&和&CUS&表添加到查询中,从字段选项卡中依次选择&会员号&、&会员名、&商品名&,在&函数和表达 式&中输入&数量*单价 AS 金额&, 并添加到选定字段中; 切换到&筛选&选项卡, 在表达式中输入: &year(Cbc. 日期)&,&条件&选择&=&,&实例&中输入2003;切换到&排序依据&选项卡并在其中选择字段&会员号&,排序 选项为&升序&;单击查询菜单下的&查询去向&,选择表,在&表名&右边的对话框中输入表名TWO,最后运行 该查询。 第2题:利用&文件&菜单下的&打开&命令打开程序文件THREE.PRG。将命令文件修改为: SELECT 会员号,会员名,单位,电话; FROM WHERE 性别=&女& and 会员号=ANY; ( SELECT 会员号; FROM WHERE 数量&=10; GROUP BY 会员号 HAVING SUM(数量*单价)&=5000); INTO TABLE THREE 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,打开会员数据库CDB,完成如下综合应用: 1.建立文件名为form的表单,在表单中设计&统计&和&退出&两个按钮。要求如下: (1)在&统计&按钮(Command1)中,编写程序,根据会员统计时所购买商品的总金额(数量*单价), 确定该会员为&金卡会员&、&银卡会员&、&铜卡会员&或&普通会员&,并将其写入会员表CUS的&会员类型& 字段中。 金卡会员,总金额&=15000元; 银卡会员,总金额&15000元 AND &=10000元; 铜卡会员,总金额&10000元 AND &=5000元; 普通会员,总金额&5000元 (2)单击&退出&按钮(Command2)时,关闭表单。 (3)表单设计完成后,运行表单,单击&统计&按钮进行统计,然后单击&退出&按钮关闭表单。 解题思路: 解题思路: ①建立表单:可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 ②在表单上添加两个命令按钮,并进行适当的布置和大小调整。 ③设置命令按钮的Caption属性值。 ④设置&统计&按钮的Click事件代码: UPDATE CUS SET 会员类型=&金卡会员& WHERE 会员号=ANY(SELECT 会员号 FROM cbc GROUP BY 会员 号 HAVING SUM(数量*单价)&=15000) UPDATE CUS SET 会员类型=&银卡会员& WHERE 会员号=ANY(SELECT 会员号 FROM cbc GROUP BY 会员 号 HAVING SUM(数量*单价)&15000 AND SUM(数量*单价)&=10000) UPDATE CUS SET 会员类型=&铜卡会员& WHERE 会员号=ANY(SELECT 会员号 FROM cbc GROUP BY 会员 号 HAVING SUM(数量*单价)&10000 AND SUM(数量*单价)&=5000) UPDATE CUS SET 会员类型=&普通会员& WHERE 会员号=ANY(SELECT 会员号 FROM cbc GROUP BY 会员 号 HAVING SUM(数量*单价)&5000) ⑤设置&退出&按钮的Click事件代码: Release Thisform ⑥保存表单并运行,单击&统计&按钮,再单击&退出&按钮。 2010年国家二级VFP新题第十三套 2010年国家二级VFP新题第十三套 年国家二级VFP新题第十三 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下,打开招生数据库SDB,完成如下操作: 1.在KSB表中增加一个名为&备注&的字段、字段数据类型为&字符&、宽度为30。 2.在考生成绩表KSCJB中给成绩字段设置有效性规则和默认值,成绩&=0 AND 成绩&=150;默认值为0。 3.通过&考生号&字段建立KSB表和KSCJB表间的永久联系,并为该联系设置参照完整性约束:更新规则 为&级联&;删除规则为&限制&;插入规则为&忽略&。 4.使用报表向导建立一个简单报表。要求选择考生表KSB中所有字段;记录不分组;报表样式为随意 式;列数为1,字段布局为&列&,方向为&纵向&;排序字段为&考生号&(升序);报表标题为&考生成绩一 览表&;报表文件名为ONE.FRX。 解题思路: 解题思路: 和宽度。 2、打开KSCJB表设计器,选择&成绩&字段,在其字段有效性规则栏中输入:成绩&=0.AND.成绩&=150, 在默认值栏中输入:0。 3、在数据库设计器中,选中KSB表中的索引&考生号&并拖动到KSCJB表的&考生号&的索引上并松开,这 样两个表之间就建立起了永久联系。建立好永久联系之后,在两处表的&考生号&索引之间有一条线,单击 这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择&数据库&中的&编辑参照完整性(I)&,系统 弹出&参照完整性生成器&对话框,在&更新规则&标签中,选择&级联&规则,在&删除&规则中选择&限制&, 在&插入规则&中选择&忽略&,单击&确定&保存所编辑的参照完整性。 4、启动报表向导可在&文件&菜单中选择&新建&或者单击工具栏上的&新建&按钮,打开&新建&对话框, 文件类型选择报表,单击向导按钮,然后按照向导提示操作即可。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下,打开招生数据库SDB,完成如下简单应用: 1. 使用一对多表单向导选择KSB表和KSCJB表生成一个名为TWO的表单。 要求从父表KSB中选择所有字段, 从子表KSCJB中选择所有字段,使用&考生号&建立两表之间的关系,样式为阴影式;按钮类型为图片按钮; 排序字段为考生号(来自KSB),升序;表单标题为&考生数据输入维护&。 2.在考生文件夹下打开命令文件THREE.PRG,该命令文件用来查询所有成绩都高于或等于平均分的学 生的考生号和姓名。并将查询结果存储到表THREE中。 注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。 解题思路: 解题思路: 第1题:启动表单向导可在&文件&菜单中选择&新建&或者单击工具栏上的&新建&按钮, 打开&新建&对话框,文件类型选择表单,单击向导按钮,在&向导选取&对话框中选择&一对多表单向导&, 然后按照表单向导操作即可。 第2题:利用&文件&菜单下的&打开&命令打开程序文件THREE.PRG。将命令文件修改为: SELECT AVG(成绩); FROM INTO ARRAY tem SELECT 考生号,姓名; FROM WHERE ( SELECT *; FROM WHERE 成绩&tem(1) and 考生号=ksb.考生号); INTO TABLE three 1、打开KSB表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,打开招生数据库SDB,完成如下综合应用: 1.创建文件名为form的表单,将表单标题改为:录取研究生。 2.在表单中设计&录取&和&退出&两个按钮。两个按钮功能分别如下: (1)在&录取&按钮(Command1)中,编写程序,查询总成绩大于或等于330分的考生的考生号、姓名、 性别、单位和该生的政治成绩、外语成绩、高数成绩(即高等数学成绩)、专业课成绩、总成绩,并将结果 按总成绩降序排序存储到表FOUR中。 表FOUR(需要自己创建或生成)的字段名为:考生号、姓名、性别、单位、政治成绩、外语成绩、高 数成绩、专业课成绩、总成绩(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。 (2)单击&退出&按钮(Command2)时,关闭表单。 3.表单设计完成后,运行表单,单击&录取&按钮进行统计,然后单击&退出&按钮关闭表单。 注:在考试科目代码表DM中存储了各考试科目与考试科目名对应关系。 解题思路: 解题思路: ①建立表单: 可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。 ②在表单上添加两个命令按钮,并进行适当的布置和大小调整。 ③设置窗体和命令按钮的Caption属性值。 ④设置&录取&按钮的Click事件代码: close all CREATE TABLE test(考生号 C(4),政治成绩 N(5,1),外语成绩 N(5,1),高数成绩 N(5,1),专业课成绩 N(5,1),总成绩 N(5,1)) use select 2 use test select 1 use kscjb do while .not.eof() select test locate for 考生号=kscjb-&考生号 if not found() then append blank replace 考生号 with kscjb-&考生号 endif do case case kscjb-&考试科目=&101& replace 政治成绩 with kscjb-&成绩 case kscjb-&考试科目=&102& replace 外语成绩 with kscjb-&成绩 case kscjb-&考试科目=&103& replace 高数成绩 with kscjb-&成绩 case kscjb-&考试科目=&104& replace 专业课成绩 with kscjb-&成绩 endcase select kscjb skip enddo close all update test set 总成绩=政治成绩+外语成绩+高数成绩+专业课成绩 SELECT Ksb.考生号, Ksb.姓名, Ksb.性别, Ksb.单位, Test.政治成绩,; Test.外语成绩, Test.高数成绩, Test.专业课成绩, Test.总成绩; FROM sdb!ksb INNER JOIN ON Ksb.考生号=Test.考生号; WHERE Test.总成绩&=330; ORDER BY Test.总成绩 DESC INTO TABLE four ⑤设置&退出&按钮的Click事件代码: Release Thisform ⑥保存表单并运行,单击&录取&按钮,再单击&退出&按钮。 2010年国家二级VFP新题第十四套 2010年国家二级VFP新题第十四套 年国家二级VFP新题第十四 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下, 有一个资源数据库FRDB, 该数据库有资源表FR_T、 农户表P_T和树种表TREE_T三个表。 其中,资源表FR_T存储了全乡农民承包的土地编号、户主编号、小地名、面积、树种编号、蓄积(生长在 山上的树的木材体积)和承包年度。打开资源数据库FRDB,完成如下操作: 1.在农户表P_T中增加一个字段名&继承人&、数据类型为&字符&、宽度为8的字段。 2.设置资源表FR_T中&面积&字段的有效性规则:面积大于等于1,小于等于100,默认值为10;&蓄积& 字段的有效性规则:蓄积大于等于0,小于等于200,默认值为100;(注意:表达式应写成 面积&=1.AND. 面积&=100,蓄积&=0.AND.蓄积&=200)。 3.为资源表FR_T创建两个普通索引(升序),索引名分别为&户主编号&和&树种编号&,对应的索引表 达式分别为&户主编号&和&树种编号&。 4.通过&户主编号&字段建立资源表FR_T和农户表P_T间的永久联系;通过&树种编号&字段建立资源表 FR_T和树种表TREE_T间的永久联系。 解题思路: 解题思路: 1、打开P_T表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型和宽度。 2、打开FR_T表设计器,选择&面积&字段,在其字段有效性规则栏中输入:面积&=1.AND.面积&=100, 在默认值栏中输入:10,再选择&蓄积&字段,在其字段有效性规则栏中输入:蓄积&=0.AND.蓄积&=200,在 默认值栏中输入:100。 3、打开&索引&选项卡,在索引名处输入:户主编号,类型选择&普通索引&,升序,表达式为:户主编 号,再在索引名处输入:树种编号,类型选择&普通索引&,升序,表达式为:树种编号。 4、在数据库设计器中,选中P_T表中的索引&户主编号&并拖动到FR_T表的&户主编号&的索引上并松开, 这样两个表之间就建立起了永久联系。再用同样的方法设置FR_T和TREE_T表间的永久联系。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下,打开资源数据库FRDB,完成如下简单应用: 1.使用表单向导选择资源表FR_T生成一个名为FR_EDIT的表单。要求选择FR_T表中所有字段,样式为 阴影式;按钮类型为图片按钮;排序字段选择户主编号(升序);表单标题为&资源数据输入维护&。 2.使用查询设计器设计一个查询one,按户主编号(取自fr_t表),树种名称(取自Tree_t表)分组 汇总每个农户的面积(取自fr_t表)和蓄积(取自fr_t表),查询结果按户主编号升序排序,并输出到ONE 表中。ONE表中的字段为户主编号、树种名称、面积合计、蓄积合计。注意:查询设计完成后必须运行。 解题思路: 解题思路: 第1题:启动表单向导可在&文件&菜单中选择&新建&或者单击工具栏上的&新建&按钮, 打开&新建&对话框,文件类型选择表单,单击向导按钮,然后按照向导提示操作即可。 第2题:建立查询可以使用&文件&菜单完成,选择文件--新建--查询--新建文件,将&fr_t&和&Tree_t& 表添加到查询中, 从字段选项卡中依次选择&户主编号&、 &树种名称&, 在&函数和表达式&中输入&SUM(Fr_t. 面积) AS 面积合计&,在&函数和表达式&中输入&SUM(Fr_t.蓄积) AS 蓄积合计&,并添加到选定字段中; 切换到&排序依据&选项卡并在其中选择字段&户主编号&,排序选项为&升序&;切换到&分组依据&选项卡并 在其中选择字段&Fr_t.户主编号&,再选择&Tree_t.树种名称&;单击查询菜单下的&查询去向&,选择表, 在&表名&右边的对话框中输入表名ONE,最后运行该查询。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 在考生文件夹下,打开资源数据库FRDB,完成如下综合应用: 设计一个表单名为form、表单文件名为FR_SHOW、表单标题名为&农户资源数据浏览&的表单,其表单界 面如图所示。其他要求如下: 1.为表单建立数据环境,向数据环境依次添加FR_T表(Cursor1)、P_T表(Cursor2)和TREE_T表 (Cursor3)。 2.当在&户主编号&(Label1)标签右边的文本框(Text1)中输入户主编号并单击&查询&(Command1) 按钮时,将在右边的表格控件(Grid1)内显示该农户承包的土地编号、小地名、面积、树种编号、蓄积和 承包年度信息(均取自FR_T表),并在左边相应的文本框中显示该农户的姓名(Text2)、年龄(Text3)、 性别(Text4)和家庭地址(Text5)(均取自P_T表)。 3.单击&退出&(Command2)按钮时,关闭表单。 要求:① 表格(Grid1)控件的RecordSourceType属性设置为&4-SQL说明&; ② 使用SQL的SELECT语句将根据输入的户主编号查询到的姓名、年龄、性别和家庭地址数据存放到一 维数组tmp中,并将tmp数组诸元素的值赋值到各文本框。解题思路: 解题思路:①建立表单: 可通过&文件&菜单下的&新建&命令或用命令CREATE FORM打开表单设计器。为表单添加数据库环境,在&显示&菜单下打开&数据环境&或在表单上点击右键打开&数据环境&。 ②在表单上添加5个标签、5个文本框、2个命令按钮和1个表格控件,并进行适当的布置和大小调整。 ③设置标签、文本框、窗体和命令按钮的Caption属性值。设置表格控件的RecordSourceType属性值。 ④设置&查询&按钮的Click事件代码: select 姓名,年龄,性别,家庭地址 from p_t where 户主编号=alltrim(ThisForm.Text1.Value) into array tmp ThisForm.Text2.Value=tmp(1) ThisForm.Text3.Value=tmp(2) ThisForm.Text4.Value=tmp(3) ThisForm.Text5.Value=tmp(4) ThisForm.Grid1.RecordSource=&SELECT 土地编号,小地名,面积,树种编号,蓄积,承包年度 FROM fr_t WHERE 户主编号='&+alltrim(ThisForm.Text1.Value)+&' INTO CURSOR LSB& ⑤设置&退出&按钮的Click事件代码: Release Thisform ⑥保存表单并运行。 2010年国家二级VFP新题第十五套 2010年国家二级VFP新题第十五套 年国家二级VFP新题第十五 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下完成如下操作: 1.建立数据库orders_manage。 2.将自由表employee和orders添加到新建的orders_manage数据库中。 3.表employee与表orders具有一对多联系,为建立两表之间的联系建立必要的索引。 4.建立两表之间的联系并设置参照完整性规则如下:更新规则为&级联&、删除规则为&级联&、插入规 则为&限制&。 解题思路: 解题思路: 1、建立数据库的常用方法有三种: 在项目管理器中建立数据库; 通过&新建&对话框建立数据库; 使用命令交互建立数据库,命令为:CREATE DATABASE [DatabaseName|?] 2、将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。打开数据库设计器,在&数 据库&菜单中或在数据库设计器上单击右键,在弹出的菜单中选择&添加表&,然后在&打开&对话框中选择要 添加到当前数据库中的自由表。 3、打开employee表的表设计器,打开&索引&选项卡,在索引名处输入:职工号,类型选择&主索引&, 升序,表达式为:职工号。打开orders表的表设计器,打开&索引&选项卡,在索引名处输入:职工号,类 型选择&普通索引&,表达式为:职工号。 4、在数据库设计器中,选中employee表中的索引&职工号&并拖动到orders表的&职工号&的索引上并松 开,这样两个表之间就建立起了永久联系。建立好永久联系之后,在两处表的&职工号&索引之间有一条线, 单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择&数据库&中的&编辑参照完整性(I)&, 系统弹出&参照完整性生成器&对话框,在&更新规则&标签中,选择&级联&规则,在&删除&规则中选择&级联 &,在&插入规则&中选择&限制&,单击&确定&保存所编辑的参照完整性。 二、简单应用(2小题,每题20分,计40分) 简单应用( 小题,每题20分 20 40分 在考生文件夹下完成如下简单应用: 1.使用SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders表),并将结果按金额升 序、金额相同按订购单号升序存储到表results中。 2.使用SQL命令建立视图view_b,视图中是目前在orders表中没有所签订单的职工(employee)信息, 记录按仓库号降序排列;同时把所用命令保存在文本文件view_b.txt中。 解题思路: 解题思路: 第1题:SQL语句为: SELECT * FROM orders ORDER BY 金额,订购单号 WHERE 职工号+str(金额,10,0) IN; (SELECT 职工号+str(MAX(orders.金额),10,0) FROM orders GROUP BY 职工号); INTO TABLE results 第2题:SQL命令为: create view view_ select * where 职工号 (select 职工号 from orders); order by 仓库号 desc 然后将此命令保存在view_b.txt文件中。 三、综合应用(1小题,计30分) 综合应用( 小题, 30分 建立一个表单,表单文件名和表单控件名均为myform_b,表单标题为&订单管理&,表单其它功能如下: 1.表单中含有一个页框控件(PageFrame1)和一个&退出&命令按钮(Command1),单击&退出&命令按 钮关闭并释放表单; 2.页框控件(PageFrame1)中含有三个页面,每个页面都通过一个表格控件显示有关信息: (1)第一个页面Page1的标题为&职工&,其上的表格用于显示表employee中的内容。其中表格的控件 名为grdEmployee、RecordSourceType属性值应为1(别名); (2)第二个页面Page2的标题为&订单&,其上的表格用于显示表orders中的内容。其中表格的控件名 为grdOrders、RecordSourceType属性值应为1(别名); (3)第三个页面Page3的标题为&职工订单金额&,其上的表格显示每个职工的职工号、姓名及其所经 手的订单总金额(注:表格只有3列,第1列为&职工号&,第2列为&姓名&,第3列为&总金额&)。其中表格 的控件名为Grid1、RecordSourceType属性值应为4-SQL说明。 解题思路: 解题思路: 第一步:在Visual FoxPro主窗口中按下组合键Ctrl+N,系统弹出&新建&对话框,在文 件类型中选择&表单&, 点击&新建文件&按钮, 系统将打开表单设计器; 或直接在命令窗口中输入: crea form form1。在&表单设计器&中,单击鼠标右键,在弹出菜单中选择&数据环境&,在&添加表或视图&对话框中, 选择employee表,单击&添加&,接着在&添加表或视图&的对话框中,选择orders表,单击&添加&,再单击& 关闭&按钮。选择employee和orders之间的连线,单击Delete键。 第二步:点击工具栏按钮&表单控件工具栏&,在弹出的&表单控件&对话框中,选中&页框&控件,在表 单设计器中拖动鼠标,这样在表单上得到一个&页框&控件PageFrame1,用类似的方法为表单再加入三个& 表格&控件(右击页框,点击编辑按钮),1个&命令按钮&控件command1。相关控件的属性值如下表所示: 对象 Form1 Form1 Command1 PageFrame1 PageFrame1.page1 PageFrame1.page2 PageFrame1.page3 Name Caption Caption pagecount Caption Caption Caption 属性 属性值 myform_b 订单管理 退出 3 职工 订单 职工订单金额 grdEmployee 1-别名 Employee grdOrders 1-别名 Orders 4-SQL说明 sele employee.职工号,姓名,sum(金额) as 总金额PageFrame1.page1.grid1 Name PageFrame1.page1.grid1 RecordSource PageFrame1.page2.grid1 Name PageFrame1.page2.grid1 RecordSourcePageFrame1.page1.grid1 RecordSourceTypePageFrame1.page2.grid1 RecordSourceType PageFrame1.page3.grid1 RecordSourceType PageFrame1.page3.grid1 RecordSource tempfrom employee,orders where employee.职工号=orders.职工号 group by orders.职工号 into cursor 第三步:命令按钮command1(退出)的Click事件代码如下: thisform.release 第四步:保存表单并运行。 2010年国家二级VFP新题第十六套 2010年国家二级VFP新题第十六套 年国家二级VFP新题第十六 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题( 小题, 题是7 题是8 在考生文件夹下完成如下操作: 1.建立数据库orders_manage,并将自由表employee和orders添加到新建的数据库中。 2.建立必要的索引,并建立表employee和表orders之}

我要回帖

更多关于 淘宝怎么修改快递单号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信