《VisualFoxPro数据库》试卷库5
《Visual FoxPro数据库》试卷库5
考试⽅法:闭卷
⼀.判断题(1分/题,共15分,对画√,错画×)
1、VFP数据库管理系统的数据模型是关系型。
2、可向菜单系统中添加初始化代码来创建环境、定义内存变量、打开⽂件等。
3、表单设计中的数据环境是表单的数据来源。
4、表单打开时,数据环境中的表可⾃动打开。
5、表单集是指两个以上的表单同时输出,并且可以通过程序或⿏标交换输出权。
6、报表包括两个组成部分:数据源和布局。
7、报表设计中的布局⽂件保存了要输出的表中字段的值。
8、报表设计中的字段控件可⽤于表⽰出现在报表中的字符。
9、客户/服务器(client/rver)应⽤程序具有本地(客户)⽤户界⾯,但访问的是远程服务器上的数据。
10、视图兼有表和查询的特点。
11、与查询不同的是,视图可选择如何将在视图中所做的数据修改传给原始⽂件,或建⽴视图的基表。
12、VFP中的NULL表⽰0,便于与含有NULL值的SQL数据库⼀起⼯作。
13、查询输出的去向可以是浏览、报表或表单。
14、VFP主要数据容器有:表记录、变量和数组。
15、引⽤对象的⽅法分绝对引⽤和相对引⽤。
⼆.选择题(每个选择1.5分,共30分)
1、下列FOXBASE表达式运算结果为⽇期型的是
A)04/05/97 - 2 B)CTOD('04/05/97') - DATE( )
C)CTOD('04/05/97') -3 D)DATE( )"04/05/97"
2、职⼯⼯资数据库⽂件按基本⼯资字段升序索引后,再执⾏GO TOP命令,此时当前记录号是
A)1 B)基本⼯资最少的记录号
C)0 D)基本⼯资最多的记录号
3、当前数据库⽂件有20条记录,当前记录号是10。执⾏命令LIST REST以后,当前记录号是
A)10 B)20
C)21 D)1
4、对学⽣成绩数据库⽂件按总分/N/6.2降序、姓名/C/8升序索引。应当使⽤命令
A)INDEX TO ABC ON 总分,姓名
B)INDEX TO ABC ON -总分,姓名
C)INDEX TO ABC ON STR(-总分,5,1)﹢姓名
D)INDEX TO ABC ON STR(1000-总分) ﹢姓名
5、把当前数据库⽂件中"性别"字段的值全部清除,但仍保留该字段,应当使⽤命令
A)MODIFY STRUCTURE B)DELETE
cell phoneC)REPLACE D)ZAP
6、命令SELECT 0 的功能是
A)选择区号最⼩的空闲⼯作区
B)选择区号最⼤的空闲⼯作区
C)选择当前⼯作区的区号加1的⼯作区
D)随机选择⼀个⼯作区的区号
7、设职⼯数据库和按"⼯作⽇期"索引的索引⽂件已经打开,要把记录指针定位到⼯作刚好满30天的职⼯,应当使⽤命令
A)FIND DATE ( )-30 B)SEEK DATE( )30
C)FIND DATE ( )30 D)SEEK DATE( )-30
8、⽐较WAIT、ACCEPT和INPUT三条命令,需要以回车键表⽰输⼊结束的命令是
A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT
C)ACCEPT、INPUT D)INPUT、WAIT
9、在VFP中,可以使⽤FOUND( )函数来检测查询是否成功的命令包括
A)LIST、FIND、SEEK B)FIND、SEEK、LOCATE
C)FIND、DISPLAY、SEEK D)LIST、SEEK、LOCATE
10、在下⾯FoxBASE命令中,不能修改数据记录的命令是
A)BROWSE B)EDIT
C)CHANGE D)MODIFY
11、设数据库⽂件及其索引⽂件已打开,为了确保指针定位在物理记录号为1的记录上,应该使⽤命令
A)GO TOP B)GO BOP() C)SKIP 1 D)GO 1
12、设职⼯表⽂件已经打开,其中有⼯资字段,要把指针定位在第⼀个⼯资⼤于620元的记录上,应使⽤命令
A)FIND FOR ⼯资>620 B)SEEK ⼯资>620
C)LOCATE FOR ⼯资>620 D)FIND ⼯资>620
13、设当前表⽂件含有字段salary,命令REPLACE salary WITH 1500的功能是
A)将表中所有记录的salary字段的值都改为1500
B)只将表中当前记录的salary字段的值改为1500
C)由于没有指定条件,所以不能确定
D)将表中以前未更改过的salary字段的值改为1500
14、设表⽂件已经在当前⼯作区打开,有关索引⽂件已经建⽴,要打开该表⽂件的某索引⽂件,应该使⽤命令
A)SET INDEX TO <;索引⽂件名>
B)OPEN INDEX <;索引⽂件名>
C)USE INDEX <;索引⽂件名>
D)必须与表⽂件⼀起打开
15、在以下关于索引的说明中,错误的是
A)索引可以提⾼查询速度 B)索引可能降低更新速度
C)索引和排序具有不同的含义 D)不能更新索引字段
16、以下关于ACCEPT命令的说明,正确的是
A)将输⼊作为字符接收B)将输⼊作为数值接收
C)将输⼊作为逻辑型数据接收D)将输⼊作为备注型数据接收
17、在使⽤@命令进⾏格式化输出时,为了使输出结果只输出到打印机上,应使⽤命令g开头的英文名
A)SET PRINT ON B)SET PRINTER TO LPT1
C)SET DEVICE TO PRINT D)SET PRINTER TO PRN
18、在图书数据库⽂件中,书号字段为字符型,要求将书号以字母D开头的所有图书记录打
上删除标记,应使⽤命令
A)DELETE FOR "D"$书号忽必烈汗
B)DELETE FOR SUBSTR (书号,1,1)="D"
C)DELETE FOR 书号=D *
D)DELETE FOR RIGHT (书号,1)="D"
19.表与相应索引⽂件已经打开,内存变量XM="李春",执⾏时会产⽣逻辑错误的命令是( )。A)LOCATE FOR 姓名=XM
B)FIND &XM
研究所英语
C)SEEK XM D)LOCATE FOR 姓名=&XMafternoontea
20.以下命令中正确的是( )。
A)STORE 8 TO X,Y B)STORE 8,9 TO X,Y
C)X=8,Y=9 D)X=Y=8
三.程序填空(每空3分,共30分)
1、对TEACHER.DBF中的每条记录的SALARY字段作如下变化:若SALARY>=3000,则上浮3%,若SALARY<3000,则上浮6%
2018考研分数线预测USE TEACHER
______ 1_______
IF salary >= 3000
REPLACE salary WITH salary * 1.03
ELSE
______2_______
ENDIF
ENDSCAN
USE
2、⼀学⽣档案表STUDENT.DBF,其字段有:学号、姓名、专业、出⽣⽇期、⼊学成绩、简历,表中已有数据。另有⼀学⽣成绩表SCORE.DBF,其字段有:学号、平均分、操⾏成绩,表中已有数据。以下程序实现输⼊学号后根据平均分和操⾏成绩判断该学⽣的奖学⾦等级,最后输出学号、姓名、奖学⾦等级。
SET TALK OFF
SELE 1
USE STUDENT
SELE 2
USE SCORE
INDEX ON 学号 TO XH
SELE A
______ 3_______
ACCEPT "请输⼊学⽣学号" TO NO
SEEK NO
ZX=______4_______
IF .NOT. EOF( )
DO CASE
CASE 平均分>=90 .AND. &ZX="优"
JXJ="甲等"
CASE 平均分>=80 .AND. (&ZX="优".OR.&ZX="良")
JXJ="⼄等"
CASE 平均分>=75 .AND. (&ZX="优".OR.&ZX="良")
JXJ="丙等"
OTHERWISE
JXJ="⽆"
ENDCASE
"学号", 学号, "姓名", 姓名, "奖学⾦", JXJ
ENDIF
siam
风信子英文CLOSE ALL
SET TALK ON
3、假定表MEMBER.DBF中包含姓名和姓名缩写信息(字段有:FIRSTNAME、LASTNAME、PERSON_ID)字段。当向表中增加⼀条记录时,输⼊姓名(即FIRSTNAME和LASTNAME)后,⾃动⽣成姓名缩写(即PERSON_ID)的值。如果表中已有相同的姓名缩写,则给姓名缩写加⼀个数字。例如:Michael Suyama 的缩写为 MS, Margaret Sun 的姓名缩写与之相同,则缩写为MS1。以后,Michelle Smith 的姓名缩写便是 MS2,依次类推。
SET TALK OFF
USE MEMBER
INDEX ON PERSON_ID TO ID
______5_______
ACCEPT "请输⼊姓:" FN
ACCEPT "请输⼊名:" LN
REPLACE FIRSTNAME WITH FN, LASTNAME WITH LN
nHere = RECNO( )
CINITIALS = LEFT(FIRSTNAME,1) + LEFT(LASTNAME,1)
NSUFFIX = 0
______6_______
DO WHILE FOUND( )
NSUFFIX = NSUFFIX + 1
CINITIALS =LEFT(CINITIALS,2) + ALLTRIM(STR(NSUFFIX))
______7_______
ENDDO
GOTO ______8_______
REPLACE PERSON_ID WITH CINITIALS
USE
SET TALK ON
4、学⽣档案表XS.DBF,其字段有:学号、姓名、专业、出⽣⽇期、⼊学成绩、简历,表中已有数据。另有新⽣⼊学⽂本⽂件CJ.TXT,内容如下:
王刚,496
张放,487
李⽴,503
刘英,492 ......
编程构造⼀个表⽂件XSCJ.DBF,表中有姓名、⼊学成绩两个字段,表中的记录由两部分数据组合⽽成:⼀部分为从XS.DBF 中提取的相关字段的内容,另⼀部分为从CJ.TXT中提取的相关字段的内容。最后将XSCJ.DBF中的记录内容依次显⽰出来。程序如下:
SET TALK OFF
USE XSDA
COPY ______ 9_______
USE XSCJ
APPEND______ 10_______
GO TOP
DO WHILE .NOT. EOF()
姓名,⼊学成绩
专八作文模板
SKIP
ENDDO
USE
四.编写程序(共25分)
假设有如下表单,表单的功能为:
(1)输⼊查询条件:⽤户从“依据字段”列表框中选择表中的字段名,从“关系符”列表框中选择关系运算符,在“值”⽂本框中输⼊欲查询字段的值。
影子英文
(2)可在按下“与”、“或”命令按钮后再输⼊下⼀个查询条件,最终构成组合查询条件。(3)查询条件构成完毕后,按下“查看”命令按钮后通过浏览窗⼝查看满⾜条件的记录。表单中列表框、⽂本框中出现的标识符为控件的CONTROLSOURCE属性的值。