VFP题库141.docx

上传人:b****4 文档编号:3519549 上传时间:2022-11-23 格式:DOCX 页数:38 大小:225.48KB
下载 相关 举报
VFP题库141.docx_第1页
第1页 / 共38页
VFP题库141.docx_第2页
第2页 / 共38页
VFP题库141.docx_第3页
第3页 / 共38页
VFP题库141.docx_第4页
第4页 / 共38页
VFP题库141.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

VFP题库141.docx

《VFP题库141.docx》由会员分享,可在线阅读,更多相关《VFP题库141.docx(38页珍藏版)》请在冰豆网上搜索。

VFP题库141.docx

VFP题库141

第一套

在考生文件夹下已有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)以同样的方式打开customers表设计器,选中字段"性别",在规则文本框中输入:

性别$"男女",在信息文本框中输入:

"性别必须是男或女"。

(4)新建一个程序,编写下列命令语句。

Usecustomers

indexon客户号tagkhh

保存程序名为pone.prg,并运行程序。

(1)在考生文件夹下创建表单文件formone.scx,如图1所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Command1。

然后按相关要求完成相应操作。

①如图2-43所示设置表单、标签和命令按钮的Caption属性。

②设置文本框的Value属性值为表达式Date()。

③设置“查询”按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:

从customers表中查询指定日期以后出生的客户,查询结果依次包含“姓名”、“性别”、“出生日期”3项内容,各记录按“出生日期”降序排序,查询去向为表tableone。

最后运行该表单,查询1980年1月1日以后出生的客户。

(2)向名为“订单管理”的数据库(在基本操作题中建立)添加orderitems表。

然后在数据库中创建视图viewone:

利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含“商品号”和“订购总量”(即所有订单对该商品的订购数量之和)两项内容,各记录按“商品号”升序排序。

最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。

(1)

步骤1:

在命令窗口输入"Creaformformone",新建一个表单,按题目要求添加控件并修改控件的属性,将customers表添加到数据环境中。

步骤2:

然后将Text1的Value属性设置为"=date()",编写"查询"按钮的Click事件代码如下。

******"查询"按钮的Click事件代码******

x=ThisForm.Text1.Value

SELECTCustomers.姓名,Customers.性别,Customers.出生日期;

FROMcustomers;

WHERECustomers.出生日期>=x;

ORDERBYCustomers.出生日期DESC;

INTOTABLEtableone.dbf

*************************

步骤3:

保存并运行表单,查看表单的运行结果。

(2)

步骤1:

打开考生文件夹下的"订单管理"数据库,在数据库设计器中右键单击数据库的空白处,选择"添加表"命令,将orderitems表添加到数据库中。

步骤2:

新建一个视图,将orderitems表添加到视图设计器中;在"字段"选项卡中,将字段"商品号"和表达式"SUM(Orderitems.数量)AS订购总量"添加到"选定字段"列表框中;在"排序依据"选项卡中,选择按商品号升序排序记录,在"分组依据"选项卡中将"商品号"设置为分组字段。

步骤3:

将视图保存为"viewone"。

步骤4:

新建一个查询文件,将新建的"viewone"视图添加到新建的查询中,选择其中的全部字段,设置查询去向为表"tabletwo",保存并运行查询,查询文件名默认。

 

在考生文件夹下创建一个顶层表单myform.scx(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。

①菜单命令“计算”和“退出”的功能都通过执行过程完成。

②菜单命令“计算”的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的“总金额”等于它所包含的各商品的金额之和,每种商品的“金额”等于“数量*单价”),并将计算的结果填入orders表的相应字段中。

③菜单命令“退出”的功能是释放并关闭表单。

最后,请运行表单并依次执行其中的“计算”和“退出”菜单命令。

步骤1:

新建一个表单,修改表单的Caption为"考试",ShowWindow属性为"2-作为顶层表单"。

步骤2:

双击表单空白处,编写表单的Init。

DOmymenu.mprWITHTHIS,"myform"

步骤3:

新建一个菜单,选择"显示"菜单下的"常规选项"命令,在弹出的"常规选项"对话框中勾选"顶层表单"。

步骤4:

输入菜单项"计算"和"退出",结果均选择"过程",然后单击两个菜单项后面的"创建"按钮,分别编写如下代码。

******"计算"菜单项中的命令代码******

SELECTOrderitems.订单号,sum(orderitems.数量*goods.单价)as总金额;

FROMorderitems,goods;

WHEREOrderitems.商品号=Goods.商品号;

GROUPBYOrderitems.订单号;

ORDERBYOrderitems.订单号;

INTOTABLEtemp.dbf

CLOSEALL

SELE1

USEtemp

INDEXON订单号TOddh1

SELE2

USEorders

INDEXON订单号TOddh2

SETRELATIONTO订单号INTOA

DOWHILE.NOT.EOF()

REPLACE总金额WITHtemp.总金额

SKIP

ENDDO

BROW

*************************

******"退出"菜单项中的命令代码******

myform.Release

*************************

步骤5:

保存菜单名为"mymenu"并生成可执行文件。

步骤6:

保存表单名为"myform"并运行。

第二套

基本操作题

1.新建一个不包含任何控件的空表单myform.scx(表单名和表单文件名均为myform)。

2.打开表单文件formtwo.scx,将表单的标题设为"计算机等级考试"。

3、打开表单文件formthree.scx,使用布局工具栏操作使表单上的4个命令按钮按顶边水平对齐。

4、打开表单文件formfour.scx,设置有关属性使表单初始化时自动在VisualFoxPro主窗口内居中显示。

1、单击工具栏上的"新建"按钮,再单击"表单",单击"新建文件",将表单的Name属性修改为myform,单击"保存"按钮,将表单保存为myform.scx。

2、打开表单formtwo.scx,将表单的Caption属性修改为"计算机等级考试"。

3、打开表单formthree.scx,选择"显示"菜单下的"布局工具栏"子菜单,将布局工具栏显示出来。

选中表单上的4个命令按钮,单击布局工具栏上的"顶边对齐"按钮。

4、打开表单formfour.scx,将表单的AutoCenter属性值设置为".T.-真"

简单应用

1使用查询设计器设计完成:

查询“吴”姓读者(客户名第一个字为“吴”)订购图书情况,查询结果包括客户名、订单号、图书名、单价、数量和签订日期字段的值,要求按客户名升序排序,并运行该查询将查询结果存储在表文件appone,查询文件也保存为appone。

2使用SQL语句查询每个读者订购图书的数量和金额(数量*单价),查询结果包括客户名、订购总册数和金额,查询按金额降序排序,查询结果存储在apptwo.dbf表文件,最后将SQL语句保存在apptwo.prg命令文件。

建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将order、orderitem和goods表添加到查询中,并设置三表间的联系,从字段选项卡中依次选择"Order.客户名"、"Order.订单号"、"Goods.图书名"、"Goods.单价"、"Orderitem.数量"、"Order.签订日期";

切换到"筛选"选项卡,在"字段名"中选择"Order.客户名","条件"选择"=","实例"中输入:

吴;

切换到"排序依据"选项卡并在其中选择字段"Order.客户名",排序选项为"升序";

单击"查询"菜单下的"查询去向",选择"表",在"表名"右边的对话框中输入表名appone,最后保存并运行该查询。

SELECTOrder.客户名,sum(orderitem.数量)as订购总册数,;

sum(orderitem.数量*Goods.单价)as金额;

FROMgoodsINNERJOINorderitemINNERJOINorder;

ONOrderitem.订单号=Order.订单号;

ONGoods.图书号=Orderitem.图书号;

GROUPBYOrder.客户名;

ORDERBY金额DESC;

INTOTABLEapptwo.dbf

运行该SQL语句,然后将此语句保存在apptwo.prg文件中。

综合应用

在考生文件夹下完成如下综合应用:

①建立数据库“订单管理”,将表order、goods和orderitem添加到“订单管理”数据库;

②在“订单管理”数据库中创建视图orderview,该视图包含信息:

客户名、订单号、图书名、数量、单价和金额(单价*数量);

③建立文件名和表单名均为orderform的表单,在表单中添加表格控件grid1(将RecordSourceType属性设置为“表”)和命令按钮“退出”(command1);在表单的load事件中使用SQL语句,从视图orderview中按客户名升序、金额降序查询数量为1的客户名、图书名和金额信息,并将结果存储到表文件result.dbf。

在表单运行时使得在控件grid1中能够显示表result.dbf中的内容(在相应的事件中将grid1的recordsource属性指定为result.dbf);单击“退出”命令按钮时释放并关闭表单。

完成以上所有功能后运行表单orderform。

①创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加order、goods和orderitem表。

②通过createVIEW命令打开视图设计器,在"添加表或视图"对话框中依次添加order、orderitem和goods表,并设置三表间的联系;在"字段"选项卡中选择order.客户名、order.订单号、goods.图书名、orderitem.数量、goods.单价5个字段,再在"函数和表达式"下输入:

goods.单价*orderitem.数量AS金额。

单击"添加"按钮。

③在命令窗口输入命令:

CREATEFORMorderform,打开表单设计器窗口,将表单的Name属性修改为orderform。

④在表单上添加表格、命令按钮,并进行适当的布置和大小调整。

将表格的RecordSourceType属性设置为"0-表",命令按钮的Caption属性设置为"退出"。

⑤在表单的load事件代码中输入:

select客户名,图书名,金额fromorderviewwhere数量=1;

orderby客户名,金额descintotableresult.dbf

⑥在表格的activatecell事件代码中输入:

thisform.Grid1.recordsource="result.dbf"

⑦设置"退出"按钮的Click事件代码:

THISFORM.RELEASE

⑧保存表单并运行

第三套

基本操作题

在考生文件夹下完成下列操作:

1.新建一个名为"学校"的数据库文件,将自由表"教师表"、"职称表"和"学院表"添加到该数据库中。

2.在"学校"数据库文件中,为"职称表"建立主索引,索引表达式为"职称级别",索引名为indexone。

3.使用报表向导为"职称表"建立一个报表myreport,选定"职称表"的全部字段,按"职称级别"字段降序排序,其他选项选择默认值。

4.修改test.prg中的语句,该语句的功能是将"职称表"中所有职称名为"教授"的记录的"基本工资"存储于一个新表prof.dbf中,新表中包含"职称级别"和"基本工资"两个字段,并按"基本工资"升序排列。

最后运行程序文件test.prg。

第3小题:

使用报表向导创建报表。

(1)单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择"报表",单击"向导"按钮。

(2)按照报表向导提示操作,最后单击"打印预览"按钮。

第4小题:

修改程序。

(1)单击工具栏的"打开"按钮,选择文件类型"程序",再选择test.prg,单击"确定"按钮,打开程序编辑器窗口,显示如下程序清单:

select职称级别,基本工资from职称表where职称名="教授"todbfprof.dbfgroupby基本工资

(2)将其修改为:

select职称级别,基本工资from职称表where职称名="教授"intodbfprof.dbforderby基本工资

(3)单击工具栏的"保存"按钮,保存修改后的test.prg程序。

(4)单击工具栏的运行按钮"!

"运行该程序。

简单应用

在考生文件夹下完成下列操作:

1.请修改并执行程序temp.prg,该程序的功能是:

根据"教师表"和"职称表"计算每位教师的"应发工资",每位教师的"应发工资"等于:

与"职称级别"相符的"基本工资"+"课时"×80×职称系数,教授的职称系数为1.4,副教授的职称系数为1.3,讲师的职称系数为1.2,助教的职称系数为1.0。

计算结果存储于自由表salary.dbf中,salary.dbf中的字段包括姓名、系号和应发工资,并按系号降序排列,系号相同时按应发工资升序排列。

注意,只能修改标有错误的语句行,不能修改其他语句行。

2.创建一个新类MyCheckBox,该类扩展VisualFoxpro的CheckBox基类,新类保存在考生文件夹下的myclasslib类库中。

在新类中将Value属性设置为1。

新建一个表单MyForm,然后在表单中添加一个基于新类MyCheckBox的复选框,如图所示。

第1题:

用SQL语句,修改程序。

(1)单击工具栏的"打开"按钮,选择文件类型"程序",再选择temp.prg,单击"确定"按钮,打开程序编辑器窗口,显示如下程序清单并修改程序(箭头后蓝色字体是正确答案):

create职称系数表(职称名c(6),职称系数f(10,2))&&有错误

--》createtable职称系数表(职称名c(6),职称系数f(10,2))

insertinto职称系数表value("教授",1.4)

insertinto职称系数表value("教授",1.3)&&有错误

--》insertinto职称系数表value("副教授",1.3)

insertinto职称系数表value("讲师",1.2)

insertinto职称系数表value("助教",1.0)

SELECT姓名,系号,课时*80*职称系数+基本工资as应发工资;

FROM职称系数表,教师表;&&有错误

--》FROM职称表,职称系数表,教师表;

WHERE职称表.职称级别=教师表.职称级别;

OR职称表.职称名=职称系数表.职称名;&&有错误

--》AND职称表.职称名=职称系数表.职称名;

intodbfsalary.dbf;

orderby系号desc,应发工资

(3)单击工具栏的"保存"按钮,保存修改后的temp.prg程序。

(4)单击工具栏的运行按钮"!

"运行该程序。

第2题:

新建类。

(1)单击工具栏的"新建"按钮,在"新建"对话框中,选择"类",再单击"新建文件"按钮,在弹出的"新建类"对话框中输入或选择:

类名:

MyCheckBox

派生于:

选择CheckBox

存储于:

myclasslib

单击"确定"按钮,系统弹出"类设计器"窗口;

(2)在"类设计器"的属性窗口中,将复选框的Value属性设置为1;

(3)单击工具栏的"保存"按钮,并关闭类设计器窗口;

(4)单击工具栏的"新建"按钮,在"新建"对话框中,选择"表单",再单击"新建文件"按钮,弹出"表单设计器"窗口。

(5)单击"表单控件工具栏"的"查看类"按钮,在弹出的菜单中,选择"添加"命令,在弹出的"打开"对话框中,选择考生目录下的类库文件myclasslib.vcx,再单击"打开"按钮,此时"表单控件工具栏"中就出现mycheckbox控件,选择该控件添加到表单中。

(6)单击常用工具栏的"保存"按钮,保存表单myform.scx;

(7)单击常用工具栏的运行按钮"!

",运行该表单。

综合应用

在考生文件夹下完成下列操作:

1.建立一个文件名和表单名均为formtest的表单,表单中包括一个标签(Label1)、一个列表框(List1)、一个表格(Grid1)。

2.在表单的数据环境中添加"学院表"和"教师表"。

3.通过属性窗口将标签的标题设为"系名"。

4.列表框用于显示系名,通过属性窗口将列表框(List1)的RowSource和RowSourceType属性指定为"学院表.系名"和6。

5.表格用于显示所有教师的相关信息,通过属性窗口将表格(Grid1)的RecordSource和RecordSourceType属性指定为"select职工号,姓名,课时from教师表intocursortmp"和4。

6.为列表框(List1)的DblClick事件编写程序。

程序的功能是:

表单运行时,用户双击列表框中的选项时,将所选系教师的"职工号"、"姓名"和"课时"三个字段的信息存入自由表two.dbf中,表中的记录按"职工号"降序排列。

7.运行表单,在列表框中双击"信息管理"。

(1)在命令窗口输入下面命令并回车:

CREATEFORMformtest

打开表单设计器窗口;

(2)在属性窗口中,设置表单的Name属性为formttest;

(3)右击表单设计器窗口的空白处,在弹出的快捷菜单中,选择"数据环境"命令,打开"数据环境设计器"窗口,并将"学院表"和"教师表"添加进来;

(4)在表单设计器中添加标签控件Label1,并设其标题属性Caption值为:

系名;

(5)在表单设计器中添加列表框控件List1,在属性窗口设置RowSourceType属性为:

6-字段,RowSource属性为:

学院表.系名

(6)在表单设计器中添加表格控件Grid1,在属性窗口中,设置RecordSourceType的属性为:

4-SQL说明,设置RecordSource的属性为:

select职工号,姓名,课时from教师表intocursortmp

(7)设置"列表框"的DblClick事件代码:

SELECT职工号,姓名,课时;

FROM学院表,教师表WHERE学院表.系号=教师表.系号AND;

学院表.系名=Thisform.List1.Value;

ORDERBY教师表.职工号DESC;

INTOTABLEtwo.dbf

Thisform.Grid1.RecordSourceType=0

Thisform.Grid1.RecordSource="two"

(8)单击常用工具栏的"保存"按钮,保存表单;

(9)单击常用工具栏的运行按钮"!

",运行表单,在列表框中双击"信息管理"条目,即可在显示菜单看到two.dbf表,在表格控件中也看到two.dbf表。

第四套

基本操作题

在考生文件夹下完成下列操作:

1.建立名称为“CDB”的商品销售数据库。

然后将考生文件夹下的顾客表CUST、订单表ORDER和商品表COMM三个自由表添加到数据库CDB中。

2.分别为顾客表CUST、订单表ORDER和商品表COMM创建主索引,CUST表主索引的索引名和索引表达式均为“顾客号”;COMM表主索引的索引名和索引表达式均为“商品号”;ORDER表主索引的索引名为“PK_CC”、索引表达式为“顾客号+商品号”;分别为ORDER表的“顾客号”和“商品号”建立普通索引(升序),索引名与字段名相同。

3.通过字段“顾客号”建立ORDER与CUST之间的永久联系、通过字段“商品号”建立ORDER与COMM之间的永久联系。

然后为以上建立的永久联系设置参照完整性约束:

更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。

4.在商品销售数据库CDB中使用SQL的CREATETABLE语句创建数据库表:

销售明细表(顺序号,日期,商品号,商品名,金额),其中:

顺序号为字符型,宽度为6;日期为日期型;商品号为字符型,宽度为6;商品名为字符型,宽度为10;金额为数值型,宽度为10(其中小数2位);表的主关键字为“顺序号”。

将创建表的SQL语句存放在文件ONE.PRG中。

(4)建立程序ONE.PRG,输入以下SQL语句。

CREATETABLE销售明细表(顺序号C(6)PRIMARYKEY,日期D,商品号C(6),商品名C(10),金额N(10.2))

保存并执行程序。

简单应用题

在考生文件夹下,打开该“CDB”数据库,完成如下简单应用:

1.使用一对多表单向导选择CUST表和ORDER表生成一个名为“ONE”的表单。

要求从父表CUST中选择所有字段,从子表ORDER中选择所有字段,使用“顾客号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为“顾客号”,升序;表单标题为“顾客订购商品维护”。

2.使用查询设计器设计一个名称为VIEW_C的查询,统计查询所有顾客购买商品应付款的情况。

查询结果包括顾客号、顾客名、地址和付款金额四个字段(注意:

每件商品的“金额”是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到,每个顾客的付款金额则是顾客购买商品金额的合计),各记录按顾客号升

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1