vf试题及答案.docx
《vf试题及答案.docx》由会员分享,可在线阅读,更多相关《vf试题及答案.docx(23页珍藏版)》请在冰豆网上搜索。
vf试题及答案
vf试题及答案
【篇一:
国家计算机二级vf考试题库答案合集】
题目的要求新建一个名为供应的项目文件。
(2)按照题目的要求,将供应零件数据库添加到项目供应中。
(3)步骤1:
按照题目的要求为零件表建立主索引。
步骤2:
以同样的方法为供应表建立普通索引。
步骤3:
在数据库设计器中从主索引拖拽到普通索引建立联系。
(4)按照题目的要求为供应表中的数量字段设置字段有效性规则。
步骤1:
按照题目的要求建立名为query1.prg的程序文件,并在程序文件窗口中输入符合题目要求的程序段。
**************query1.prg中的程序段************
select供应.供应商号,供应.工程号,供应.数量;
from零件,供应where供应.零件号=零件.零件号;
and零件.颜色=红;
orderby供应.数量desc;
intodbfsupply_temp
**********************************************
步骤2:
以query1为文件名保存并运行程序。
也可以先按照题目的要求通过查询设计器建立查询,然后打开查询设计器工具栏中的工具按钮将其中的sql语句复制到指定的程序文件中,操作过程如图3.9所示。
一般来说,简单的sql查询语句都可以通过查询设计器来实现,且比较简单,建议考生掌握这种方法的使用。
(2)【操作步骤】
步骤1:
按照题目的要求新建一个快捷菜单并保存。
步骤2:
为快捷菜单添加菜单项,并生成可执行文件menu_quick.mpr。
步骤3:
打开表单myform,按照题目的要求编写表单的rightclick事件代码domenu_quick.mpr。
步骤4:
保存并运行表单。
步骤1:
新建一个表单,并按题目要求修改表单的属性。
步骤2:
在表单中添加一个表格控件、两个命令按钮控件、一个标签控件和一个文本框控件,并按照题目的要求设置各控件的属性。
步骤3:
将供应表和零件表添加到表单的数据环境中。
步骤4:
编写两个命令按钮的click事件代码。
******查询按钮的click事件代码*********
select零件.零件名,零件.颜色,零件.重量;
from供应,零件;
where零件.零件号=供应.零件号and供应.工程号=thisform.text1.value;
orderby零件名;
intodbfpp
thisform.grid1.recordsource=pp
***************************************
******退出按钮的click事件代码*********
thisform.release
***************************************
步骤5:
保存表单名为mysupply,并按要求运行表单。
2-二、
(1)新建一个数据库,在数据库设计器中按题目要求添加表。
(2)按照题目的要求为authors表建立主索引。
(3)按照题目要求为books表建立两个普通索引。
(4)按照题目的要求为authors表和books表建立永久性联系。
步骤1:
打开表单myform4-4,并按照题目的要求修改表单的标题。
步骤2:
在表单设计器窗口中,按照题目的要求修改文本的相关属性。
步骤3:
在表单中添加命令按钮,修改其caption属性为关闭,并为其click事件添加代码thisform.release。
(2)【操作步骤】
步骤1:
按照题目的要求新建一个名为myform4的表单。
步骤2:
编写两个命令按钮的click事件代码。
******查询按钮的click事件代码******
selectauthors.作者姓名,authors.所在城市;
fromauthors,books;
whereauthors.作者编号=books.作者编号;
groupbyauthors.作者姓名havingcount(books.图书编号)=3;
orderbyauthors.作者姓名;
intotablenew_view4
************************************
******退出按钮的click事件代码******
thisform.release
************************************
步骤3:
保存表单为myform4并运行。
步骤1:
在命令窗口中输入下列代码,用于将books表中满足条件的记录复制到books_bak表中,并按回车键以执行该代码。
***************************************
select*frombookswhere书名like%计算机%intotablebooks_bak***************************************
步骤2:
在命令窗口中输入下列代码,用于更新books_bak表中的价格字段,并按回车键以执行该代码。
*************************
updatebooks_bakset价格=价格*(1-0.05)
*************************
步骤3:
在命令窗口中输入下列代码,并按回车键以执行该代码。
********************************
selecttop1books_bak.出版单位,avg(books_bak.价格)as均价;
frombooks_bak;
groupbybooks_bak.出版单位;
having均价=25;
orderby2;
intotablenew_table4.dbf
********************************
三、
(1)在命令窗口输入createproject库存管理(也可写作creaproj库存管理),并按回车键以新建一个项目。
或者,单击常用工具栏中的新建命令新建一个项目(新建方法前面已有讲解,这里不再赘述)。
(2)按照题目的要求,在项目中新建数据库,并将考生文件夹下的自由表添加到数据库中。
(3)在数据库设计器中打开表设计器,并按题目的要求为零件信息表增加一个字段。
(4)按照题目的要求打开并修改mymenu菜单文件。
设计完成后,关闭菜单设计器并保存菜单文件。
步骤1:
按照题目的要求,通过查询设计器新建查询,或者在命令窗口输入以下命令。
***************************************
select项目信息.项目号,项目信息.项目名,零件信息.零件号,;
零件信息.零件名称;
from使用零件情况!
零件信息innerjoin使用零件情况!
使用零件;
innerjoin使用零件情况!
项目信息;
on使用零件.项目号=项目信息.项目号;
on零件信息.零件号=使用零件.零件号;
orderby项目信息.项目号desc,零件信息.零件号;
intotableitem_temp.dbf
***************************************
步骤2:
按照题目的要求新建文本文件item.txt,并将满足条件的sql语句粘贴到文本文件中。
步骤3:
在命令窗口输入doitem.txt并按回车键运行查询。
(2)【操作步骤】
步骤1:
打开数据库设计器,按照题目的要求新建本地视图。
注意,将表全部添加到视图中时,按默认联接即可。
步骤2:
按照题目的要求设计视图。
步骤3:
按照题目的要求保存视图。
步骤1:
按照题目的要求新建表单,表单的新建可以通过常用工具栏中的新建按钮来实现(操作步骤在前面的解析中已经讲到),也可以在命令窗口中输入creaformform_item,然后按回车键。
步骤2:
从表单控件工具栏向表单添加一个组合框、一个文本框和两个命令按钮,然后在属性窗口中修改各控件的相关属性。
步骤3:
按照题目的要求设置组合框的数据源。
步骤4:
分别双击命令按钮统计和退出,为它们编写click事件代码。
******统计按钮的click事件代码******
selectsum(使用零件.数量*零件信息.单价)asje;
from使用零件,零件信息;
where使用零件.零件号=零件信息.零件号;
and使用零件.项目号=x;
groupby使用零件.项目号;
intoarrayb
thisform.text1.value=b
************************************
退出按钮的click事件代码为:
******退出按钮的click事件代码******
thisform.release
四、
(1)打开考生文件夹下的订单管理数据库,按要求删除指定的表。
(2)按照题目的要求为employee表建立普通索引。
(3)按照题目的要求为employee表建立普通索引。
(4)按照题目的要求为employee表和orders表建立永久联系。
步骤1:
打开表单设计器,将题目要求的两个表添加到其数据环境中。
然后关闭数据环境设计器。
步骤2:
按照题目的要求,在属性窗口中修改控件的相关属性。
步骤3:
双击组合框,按照题目的要求修改组合框的相关方法。
***********程序提供的代码***********
*下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。
*修改所有***found***下面的一条语句。
*不能修改其他语句。
不能增加语句,也不能删除语句。
dimea(1,1)
a(1,1)=0
m1=employee.职员号
selectavg(金额)fromorderswhere职员号=m1intoarraya
m2=a(1,1)
***found***
text1.value=m2
**********************************
其中,需将命令语句text1.value=m2改为thisform.text1.value=m2。
步骤4:
保存并运行表单。
(2)【操作步骤】
步骤1:
新建一个查询,将表employee和orders添加到查询中。
步骤2:
按照题目的要求为查询添加相应的字段。
步骤3:
按照题目的要求对指定的字段进行排序,并定义查询去向为表tableone。
步骤4:
最后将查询保存为queryone.qpr,并单击常用工具栏中的按钮运行查询。
【操作步骤】
步骤1:
新建一个菜单,并按照题目的要求设计菜单的显示方式及位置。
步骤2:
按照题目要求设计各级菜单。
步骤3:
选中统计行,单击后面的创建按钮,在弹出的窗口中输入如下代码,为统计菜单编写代码。
*******统计菜单项中的代码*******
selectemployee.组别,employee.姓名as负责人,sum(orders.金额)as合计;
from订单管理!
employeeinnerjoin订单管理!
orders;
onemployee.职员号=orders.职员号;
whereemployee.职务=组长;
groupbyemployee.组别;
orderby3desc;
intotabletabletwo.dbf
**********************************
步骤4:
为返回菜单编写代码setsysmenutodefault,方法同步骤3。
步骤5:
保存菜单并生成可执行文件。
步骤6:
在命令窗口中输入domymenu.mpr运行程序,并分别执行统计和返回菜单命令。
03五、【操作步骤】
(1)打开visualfoxpro,通过常用工具栏中的新建命令按钮新建项目文件,并将该项目以图书管理为文件名保存在考生文件夹下。
(2)按照题目的要求在项目管理器中新建一个数据库。
设计完成后,关闭数据库设计器。
(3)按照题目的要求将考生文件夹下的自由表添加到图书数据库中。
本小题中的自由表是book.dbf、borrows.dbf和loans.dbf3个表。
(4)步骤1:
通过图书管理项目管理器新建查询。
步骤2:
将book表添加到查询设计器中。
步骤3:
将全部字段添加到选定字段列表框中。
步骤4:
在筛选选项卡下,为查询添加筛选条件。
步骤5:
在排序依据选项卡中,按要求设置排序依据。
步骤6:
执行文件菜单下的另存为菜单命令,并以book_qu.qpr为文件名对查询文件进行保存。
(1)【操作步骤】
步骤1:
新建查询,为查询添加order、orderitem和goods三个表。
步骤2:
按题目要求为查询添加字段。
步骤3:
在筛选选项卡中,为查询添加筛选条件。
步骤4:
在排序依据选项卡中按要求设置排序条件。
步骤5:
为查询设置查询去向。
步骤6:
以queryone.qpr为文件名保存查询,最后单击常用工具栏中的运行按钮运行查询。
(2)【操作步骤】
步骤1:
将菜单设置为顶层表单。
步骤3:
双击表单空白处,分别输入表单init和destroy事件。
************init**************
domenu_lin.mprwiththis,abc
*****************************
***********destroy************
releasemenuabcextended
*****************************
步骤4:
保存并运行表单。
【操作步骤】
步骤1:
在命令窗口输入命令createformform_book,建立表单。
步骤2:
从表单控件中以拖拽的方式在表单中添加一个组合框、一个文本框和两个命令按钮,并修改各控件的属性,为表单添加数据环境book表。
【篇二:
vf习题及答案】
vfp中,“.dbf”文件被称为___b_______。
a.数据库文件b.表文件c.程序文件d.项目文件
2.对于数据库表的索引,以下说法不正确的是____a______。
a.数据库被打开时,其对应的结构复合索引文件不能被自动打开
b.主索引和候选索引能控制表中字段重复值的输入
c.一个表可建立多个候选索引
d.主索引只适用于数据库表
3.建立索引时,___c_______字段不能作为索引字段。
a.字符型b.数值型c.备注型d.日期型
4.对于数据库_____d____说法是错误的。
a.数据库是一个容器
b.自由表和数据库表的扩展名都为.dbf
c.自由表的表设计器和数据库表的表设计器是不一样的
d.数据库表的记录数据保存在数据库中
5.对于数据库添加表___b______说法是错误的。
a.可以将一个自由表添加到数据库中
b.可以将一个数据库表直接添加到另一个数据库中
c.可以在项目管理器中将自由表拖到数据库中,使它成为数据库表
d.将一个数据库表从一个数据库移到另一个数据库,则必须先使其成为自由表
6.数据库表间创建的永久关系保存在___b______中。
a.数据库表b.数据库c.表设计器d.数据环境
7.要在两张相关的表之间建立永久关系,这两张表应该是__a______。
a.同一数据库内的两张表b.两张自由表
c.一个自由表和一个数据库表d.任意两个数据库表或自由表
8.对于日期型数据___a_____说法是错误的。
a.两个日期型数据可进行加法运算b.两个日期型数据可进行减法运算
c.一个日期型数据可以加一个整数d.一个日期型数据可以减一个整数
9.下列赋值语句中错误的是__a______。
a.v1=”23”+46b.v2=date()?
4
c.v3=.t..or.34d.v4=”今天是”?
dtoc(datea())
10.在dowhile/enddo循环中,若循环条件设置为.t.,则下列说法中正确的是__c______。
a.程序无法跳出循环b.程序不会出现死循环
c.用exit可跳出循环d.用loop可跳出循环
11.已知a=0,b=-1,c=.t.,则下列逻辑表达式的值为.t.的是__b______。
a.(a+b)*1000.and..not.cb.a-1=b.or.c
c..not.(ab-1).and.c.or..f.d.ab.and.c
12.在vfp中,可以使用的两类变量是__a______。
a.内存变量和字段变量b.全局变量和局部变量
c.字段变量和简单变量d.内存变量和自动变量
13.在多表操作中,如果选择了1、3、5、6号工作区并打开了相应的数据表,再输入命令select0,其功能是___b_____。
a.选0号工作区为当前工作区b.选2号工作区为当前工作区
c.选7号工作区为当前工作区d.错误码的
14.以下有关多工作区(多表)的描述,正确的是____c____。
a.在同一个工作区可以打开多个表并建立关联b.在多表操作中,不能取用非当前工作区的表数据
c.在多表操作中,一个表可在不同工作区打开
d.在多表关联操作中,只能建立两个表的关联,不能同时建立多个表的关联15.vfp中的setrelation关联操作是一种a
a.逻辑连接b.物理连接c.逻辑顺序d.物理排序
16.若将两个表按一定条件以建立一个新的表文件,可用命令___a_____。
a.joinb.setrelatoc.relationd.以上都不是
17.通过关键字建立(临时)关联的前提是___c_____。
a.父表必须索引并打开b.子表必须索引并打开
c.两个表必须建立索引并打开d.两全表都不必建立索引
18.若建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是_a_______。
a.主索引b.惟一索引c.后选索引d.普通索引
19.打开表:
学生,执行indexon姓名tagxb后,产生的索引文件是_c_______。
a.xb.idxb.xb.cdxc.学生.cdxd.姓名.idx
20.如果要计算职称为副教授以上(含副教授、教授)职工的工资总额,在下列命令中,错误的是__d______。
a.sum工资for职称=’副教授’or职称=’教授’
b.sumall工资for职称=’副教授’or职称=’教授’
c.sum工资for’教授’$职称
d.sum工资for职称=’副教授’and职称=’教授
21.对当前已打开的表文件按数值型字段“总分”降序排序的命令是_d_______。
a.sorttoon总分b.sorttozfon总分
c.sorttozfon总分/ad.sorttozfon总分/d
22.执行locatefor成绩60后,要将成绩定位在下一个成绩小于60分的记录上,应使用命令___d_____。
a.locatewhile成绩6b.skip
c.locatefor成绩60d.continue
23.对于入学成绩字段已建立索引,要查找入校总分在500分以上的同学,正确的是___b___。
a.findfor入学成绩500b.seek入学成绩500
c.find入学成绩500d.locatefor入学成绩500
24.在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的____a____。
a.一方表的主索引或候选索引,多方表的普通索引
b.一方表的主索引,多方表的普通索引或候选索引
c.一方表的普通索引,多方表的主索引或候选索引
d.一方表的普通索引,多方表的候选索引或普通索引
一.选择题
1.sql的数据操作语句不包括
a.insertb.updatec.deleted.change
2.sql语句中修改表结构的命令是。
a.altertableb.modifytable
c.alterstructured.modifystructure
3.设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,如下sql语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是d。
a.select学号,姓名,性别fromswhereexists(select*fromscwhere;sc.学号=s.学号and成绩=85)
b.select学号,姓名,性别fromswherenotexists(select*fromsc;wheresc.学号=s.学号and成绩=85)
c.select学号,姓名,性别fromswhereexists(select*fromscwhere;sc.学号=s.学号and成绩85)
d.select学号,姓名,性别fromswherenotexists(select*fromsc;wheresc.学号=s.学号and成绩85)
4.从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的sql语句是c。
a.dropfrom订单where签订日期={^2004-l-10}b.dropfrom订单for签订日期={^2004-l-lo}
c.deletefrom订单where签订日期={^2004-1-10}
d.deletefrom订单for签订日期={^2004-l-10)
5.假设”订单”表中有订单号、职员号、客户号和金额字段,正确的sql语句只能是。
a.select职员号from订单groupby职员号havingcount(*)3and;avg_金额200
b.select职员号from订单groupby职员号havingcount(*)3and;
avg(金额)200
c.select职员号from订单group,by职员号havingcount(*)3where;avg(金额)200
d.select职员号from订单groupby职员号wherecount(*)3and;
avg_金额200
6.要使“产品”表中所有产品的单价上浮8%,正确的sql命令是。
a.update产品set单价=单价+单价*8%forall
b.update产品set单价=单价*1.08forallc.update产品set单价=单