VFP题库141Word文档格式.docx
《VFP题库141Word文档格式.docx》由会员分享,可在线阅读,更多相关《VFP题库141Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
![VFP题库141Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/23/39242dec-b3c2-449f-975a-30c2c28dbf10/39242dec-b3c2-449f-975a-30c2c28dbf101.gif)
从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)
打开考生文件夹下的"
数据库,在数据库设计器中右键单击数据库的空白处,选择"
命令,将orderitems表添加到数据库中。
新建一个视图,将orderitems表添加到视图设计器中;
在"
字段"
选项卡中,将字段"
商品号"
和表达式"
SUM(Orderitems.数量)AS订购总量"
添加到"
选定字段"
列表框中;
排序依据"
选项卡中,选择按商品号升序排序记录,在"
分组依据"
选项卡中将"
设置为分组字段。
将视图保存为"
viewone"
步骤4:
新建一个查询文件,将新建的"
视图添加到新建的查询中,选择其中的全部字段,设置查询去向为表"
tabletwo"
,保存并运行查询,查询文件名默认。
在考生文件夹下创建一个顶层表单myform.scx(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。
①菜单命令“计算”和“退出”的功能都通过执行过程完成。
②菜单命令“计算”的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的“总金额”等于它所包含的各商品的金额之和,每种商品的“金额”等于“数量*单价”),并将计算的结果填入orders表的相应字段中。
③菜单命令“退出”的功能是释放并关闭表单。
最后,请运行表单并依次执行其中的“计算”和“退出”菜单命令。
新建一个表单,修改表单的Caption为"
考试"
,ShowWindow属性为"
2-作为顶层表单"
双击表单空白处,编写表单的Init。
DOmymenu.mprWITHTHIS,"
myform"
新建一个菜单,选择"
显示"
菜单下的"
常规选项"
命令,在弹出的"
对话框中勾选"
顶层表单"
输入菜单项"
计算"
和"
退出"
,结果均选择"
过程"
,然后单击两个菜单项后面的"
创建"
按钮,分别编写如下代码。
菜单项中的命令代码******
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:
保存表单名为"
并运行。
第二套
基本操作题
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.签订日期"
;
切换到"
筛选"
选项卡,在"
字段名"
中选择"
,"
条件"
选择"
="
实例"
中输入:
吴;
选项卡并在其中选择字段"
,排序选项为"
升序"
单击"
查询去向"
表"
,在"
表名"
右边的对话框中输入表名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)将其修改为:
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)
1.3)&
--》insertinto职称系数表value("
副教授"
1.3)
讲师"
1.2)
助教"
1.0)
SELECT姓名,系号,课时*80*职称系数+基本工资as应发工资;
FROM职称系数表,教师表;
&
--》FROM职称表,职称系数表,教师表;
WHERE职称表.职称级别=教师表.职称级别;
OR职称表.职称名=职称系数表.职称名;
&
--》AND职称表.职称名=职称系数表.职称名;
intodbfsalary.dbf;
orderby系号desc,应发工资
按钮,保存修改后的temp.prg程序。
第2题:
新建类。
按钮,在"
对话框中,选择"
类"
,再单击"
按钮,在弹出的"
新建类"
对话框中输入或选择:
类名:
MyCheckBox
派生于:
选择CheckBox
存储于:
myclasslib
按钮,系统弹出"
类设计器"
窗口;
(2)在"
的属性窗口中,将复选框的Value属性设置为1;
按钮,并关闭类设计器窗口;
(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表中该商品的订购数量计算得到,每个顾客的付款金额则是顾客购买商品金额的合计),各记录按顾客号升