《VFP》 第三章习题.docx
- 文档编号:24295617
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:20
- 大小:27.77KB
《VFP》 第三章习题.docx
《《VFP》 第三章习题.docx》由会员分享,可在线阅读,更多相关《《VFP》 第三章习题.docx(20页珍藏版)》请在冰豆网上搜索。
《VFP》第三章习题
第三章
一、填空
1、创建一个教师表(JS.dbf),其中有字段gh(工号,字符型,长度为6)、xm(工号,字符型,长度为10)、xb(性别,字符型,长度为2)、csrq(出生日期,日期型)、JL(教师简历,备注型,且允许为空值).CREATETABLEJS(ghc(6),xmC(10),xbc
(2),csrqD,jlM【null】)
2、在命令窗口或程序中,可以使用USE命令打开一个表.在该命令中,【alias】子句用于定义表的别名.(请写出拼写出完整的关键字)
3、执行下列命令后:
CLOSETABLESALL
SELECT0
USEXSALIASSTU
USEJSIN0
函数USED("JS")的值是.T.,函数SELECT()的值是【1】,函数ALIAS()的值是【STU】.
4、VFP系统中,在同一个表上,可以打开多个索引,但其中只有一个索引对表起作用,这个索引称为【主控索引】.
5、与自由表相比,数据库表可以设置许多字段属性和表属性.其中,表属性主要有表名(即长表名)、表注释、记录有效性和【触发器/TRIGGER】等.
6、设有一个表CJDA,该表有一个字段名BY的字段.如果要将字段删除,可以使用命令ALRERTABLECJDA【DROPCOLUby】.
7、用户使用CREATETABLE-SQL命令创建表的结构,字段类型必须用单个字母表示.
对于货币型字段,字段类型用单个字母表示时为【Y】.
8、利用UPDATE-SQL语句将学生表(student)中所有性别(sex)为"男"的学生的系
(depart)值改为"数学系",其完整命令是
【UPDATEstudentSETdepart="数学系"WHEREsex="男"】.
(请将命令完整拼写,不要缩写)
9、如果一个表同时在多个工作区中打开且均未指定别名,则在第一次打开的工作区别名与表名相同,其他工作区中用字母【A】至【J】以及WII~W32747中的一个表示.
10、下列程序段中的后三条命令可用一条功能等价的命令来实现,这条命令是
【USEcjIN0】.
SETTALKOFF
SELECT1
USExs
SELECT0
USEcj
11、在利用"参照完整性生成器"对话框设置参照完整性规则时,系统自动地生成完成该规
则的程序代码.规则的代码被保存在数据库中,而规则中的实施由主表和子表的
【触发器】完成.
12、在VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等.
用于返回当前选定工作区中已打开表的字段数目的函数是【FCOUNT()/FCOUNT】.
13、去除当前工作区主控索引设定的命令是【SETORDEto】,此时,表记录的顺序依据物理顺序排序.
14、有一个表文件XSDA,含有一个学号字段(XH,C,8).利用ALTERTABLExsda【ALTER】COLUMNxhC(10)命令,可以将学号字段的宽度修改为10.
15、向数据库中添加表是指把自由表添加到数据库中,使之成为数据库表.这一操作的本质是建立了库与表之间的【双向链接】.
16、选择当前未使用的最小号工作区,可以使用命令【SELE0】.
17、在BROWSE命令中,【FREE】子句用于指定可以修改的字段,而其他字段的数据不可以修改.
18、一张表结构如下Teacher(teacidc(3),teacnamec(8),sexc
(2),bornd)
用SQL语句给该表添加一个字段,字段名是note,类型是备注型,其命令是
【ALTETABLteacherADDnoteM】,为该表创建一个索引,要求先依据姓名排序,姓名相同时以出生日期排序,则索引表达式为【teacname+DTOC(born,1)】.
(请将命令完整拼写,不要缩写)
19、对当前教师表(js)按如下要求更改基本工资(jbgz):
如果工龄(gl)在20年以上(含20年),则基本工资加50.实现上述更改的REPLACE命令是
【REPLACEjbgzWITHjbgz+50FORgl>=20】.
(请将命令完整拼写,不要缩写)
20、如果要彻底删除当前工作区中打开的表的所有记录,可以使用【ZAP】命令.
21、DELETE()函数用来检测当前记录是否带有删除标记,其返回值数据类型为【逻辑】.
22、使用SET【Delete】ON|OFF命令,可以指定visualFoxPro系统是否处理已做了删除标记的表记录.
23、已知某数据库中有学生表和成绩表,且两张表之间已经建立了参照完整性(学生表为主表,成绩表为子表).如果将学生表中的某位学生的记录删除,要求该学生在成绩表中的所有成绩记录将自动全部删除,则两表之间的参照完整性设置是【删除级联】.
24、如果意外地删除了某个数据库文件,由于该数据库中包含的数据库表仍然保留对该数据库引用的后链,因此这些数据库表也不能被添加到其他的数据库中.这时需要利用
【FREETABL】命令删除存储在数据库表中的后链,使之成为自由表.
25、在VisualFoxPro中,参照完整性规则中的更新规则有【级联】、【限制】、忽略三种设置.
26、返回当前打开的数据库的完整文件名的函数是【DBC()/DBC】.
27、一个表可以有一个或多个索引,在需要使用某个索引时必须显式地指定,即将某个索引设置为"主控索引".在USE命令中使用【order】子句,可以在打开表的同时设置主控索引.
28、指定VisualFoxPro系统是否处理标有删除的记录,以及其他命令是否可以操作它们,常使用下列命令:
SET【DELE】ON.
29、在VFP中,【存储过程】是保存在数据库中的过程代码,它由一系列用户自定义函数(过程)或在创建表之间参照完整性规则时系统创建的函数(过程)组成.
30、利用UPDATE-SQL命令可以批量地修改记录的字段值.例如,某档案表(表名为DA)中有一个数值型字段(字段名为NL),则使用命令UPDATEda【SET】nl=nl+1WHEREnl<100可以将所有NL字段值小于100的记录的NL字段值增加1.
31、在VisualFoxPro中,每个表最多可以有【255】个字段.
32、若当前打开的数据库中有一张名为xsb的数据库表,且表以设置了记录的有效规则,则将该表的记录有效性规则删除,可以使用命令:
ALTERTABLExsb【DROPCHECK】.
33、关闭当前工作区中打开的表的命令是【USE】.
34、VisualFoxPro系统支持3种不同的索引文件,即【结构复合】索引文件、非结构复合索引文件和独立索引文件.
35使用USE命令可以打开或关闭表.如果XS表已在第1号工作区中打开,则要在第10号工作区中再次打开XS表,可使用命令USExs【again】IN10.
36、执行以下程序,3个SELECT()函数的输出值分别是【1】,【2】,【2】
【程序清单】
CLoSETABLESALL
SELECT3
USEjs
SELECTxh,xm,csrqFROMXSINTOCURSORt3
?
SELECT("XS")
?
?
SELECT("t3")
?
?
SELECT(0)
37、若当前打开的数据库中有一张名为xsb的数据库表,且表中有一个名为by的字段,
则将该字段的标题属性设置为"备用",可以使用命令:
DBSETPROP('XSB.BY','【field】','【caption】','备用').
38、用SQL创建一张表,表名为aaa,包含字段a1,a2,a3分别为长度为6的字符型,日期型和逻辑型,其正确书写格式为【CREATETABLEaaa(a1C(6),a2D,a3L)】.
(请将命令完整拼写,不要缩写)
39、数据库中包含数据库表、视图、连接、【存储过程】.
40、一张学生表包含学号、姓名、性别等字段,在执行deleall命令之后,
现想恢复所有带删除标志的且性别(xb)为"男"的所有同学,其VFP内部命令是
【RECAALLFORxb="男"】.
(请将命令完整拼写,不要缩写)
41、表中字段类型为通用型时,其长度为【4】个字节.
42、利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表的字段
或视图的有关属性.例如,要设置当前数据库中JS表的gh字段的标题属性,可以使用函数:
DBSETRPOP("【JS.gh/gh】","FIELD","Caption","工号")
43、在REPLACE命令中,保留字【ADDITIVE】仅对备注型字段有效,使用时表示替换的
内容追加到原备注中,否则替换原备注内容.
44、利用seek()查找某条记录时,如果没有该记录,则当前指针指向该表的最后一条记录;
如果查找到,则指针指向该记录,并且函数【FOUND()】返回.T..
45、利用COPYTO命令可以将当前工作区中表的全部或部分数据复制到其他表文或其他类型的文件中.例如,使用COPYTOtempFORRECNO()<11【XLS】命令,可以将当前工作区中表的前10条记录数据复制到TEMP文件中,且TEMP文件为MicrosoftExcel格式文件.
46、在VisualFoxPro中,每个表最多可以有【255】个字段.
47、某数据库中有下列所述结构的两个表(BRDA病人档案和MXB明细表),并且已创建了一对多关系.BRDA(病历号,姓名,性别,年龄,联系地址)MXB(病历号,药品编号,单价,数量,日期)下列的查询语句用于查询病人用药总金额大于1000的病人信息(病历号、姓名、总金额),
请完善该语句:
SELECT病历号,姓名,SUM(单价*数量)AS总金额;
FROMbrda,mxb;
WHERE【brda.病历号=mxb.病历号】;
GROUPBY1;
HAVING【总金额>1000/sum(单价*数量)>1000/sum(mxb.单价*mxb.数量)>1000】
48、假设当前工作区为1,则选择第99工作区为当前工作区的命令是
【SELECT99/SELE99】.
49、银行存款表(ck,dbf)的表结构字段组成如下表:
帐号(zh,C,15,NULL)
存入日期(crrq,T,8)
存期(cq,N,2,0)
金额(je,Y,8)
要求写出创建ck表的SQL语句
【CREATETABLEck(zhC(15)NULL,crrqT,cqN
(2),jeY)】,增加一条空记录的命令是【APPENDBLANK】
(请将命令完整拼写,不要缩写)
50、执行下列命令后:
SETEXCLUSIVEOFF
USEJS
USEXSEXCLUSIVEIN0
JS表的打开方式是【共享】,XS表的打开方式是【独占】.
51、设在1号工作区中打开XS表,若要求在2号工作区中再次打开XS表且将其别名设置为xuesheng,则可使用命令:
USExs【ALLA】xueshengIN2AGAIN.
52、在两个数据库表创建永久性关系后,就可以创建它们之间的参照完整性规则.
在VFP中,参照完整性规则分为更新规则、【删除】规则和插入规则.
53、"参照完整性"是用来控制数据的完整性,尤其是控制数据库中相关表之间的主关键字和【外部关键字】之间数据一致性的规则.
54、用INSERT-SQL命令在xS(学生)表中添加如下表格所示的记录,可使用命令:
INSERTINTOxs(xh,jl,csrq)【Value】("E9999","获得三好学生",{^1988/07/14})
55、利用DBGETPROP0'函数,可以获取当前数据库的属性设置信息,或当前数据库中的表、表字段或视图的属性设置信息.例如,要获取当前数据库SJK中XS表的xb字段的默认值,
可以使用函数DBGETPROP("Xs.xb","Field","【defaultvalue】").
56、如果依次执行下列命令,则XS表在两个工作区中同时打开,其别名分别为【XS】和【W20】.
CLOSETABLESALL
USEXS
SELE20
USEXSAGAIN
57、希望使某数据库表的某字符型字段仅能接受6个"0"~"9"之间的十个字符应在该数据库表的字段的【输入掩码/INPUTMASK】属性中设定其值为"999999"
(注:
写中文,英文都可以).
58、某表含有两个字段:
XX(字符型)和YY(日期型).若要创建一个索引,要求先根据XX字段排序,xx字段相同时再根据YY字段排序,则索引表达式可以设置为xx+【DTOC(yy,1)】
59、一个远程数据源通常是一个远程数据库服务器或文件,并且已为它在本地安装了ODBC驱动程序并设置了ODBC数据源名称.在VFP中,建立远程数据连接的主要目的是创建【远程视图】.
60、创建一个名为db01数据库的命令是【CREATEDATABASEdb01】.
(请将命令完整拼写,不要缩写)
61、利用DBGETPROP()函数可以返回当前数据库的属性,或者返回当前数据库中表、表的字段或视图属性,例如,函数DBGETPROP("xs.xh","【Field】","DefaultValue")可以返回xs表xh字段的默认值属性.
62、某公司实现人性化管理,在每个员工生日的当日会赠送礼物.若其人事档案表中包含一个出生日期字段(字段名为csrq,类型为日期型),则根据"月日"(不包含"年份")创建索引时,其索引表达式可以为【right】(DTOC(csrq,1),4).
63、如果有一张数据库表teacher,包含四个字段(ghc(6),namec(8),bornd,workdated),分别为工号、姓名、出生日期和工作日期.很显然,工作日期应大于出生日期,则应设定【记录有效性】规则.
64、如果用户移动了数据库文件或与数据库关联的表文件,则这些文件的相对路径改变,从而可能会破坏用于关联数据库和表的双向链接.使用命令OPENDATABASE【VALI】打开数据库JXGL时,系统将检查数据库的有效性.
65、完善下面的命令,实现向xs表中追加一条新的记录.
INSERTINTOxs(xh,xm,xb,ximing)【VALUES】('950101','李林','')
66、在设置表之间的参照完整性规则时,系统给定的更新和删除规则有3个,即级联,限制和忽略,而插入规则只有两个,即【限制和忽略】.
67、数据库表的触发器(Trigger)是在对表的记录进行操作时被触发的检验规则.
在VFP中,触发器分为3种类型,即更新触发器、删除触发器和【插入】触发器.
68、利用COPY命令可以将当前工作区中的表复制成MicrosoftExcel文件.若当前工作区中已打开XS表,则用命令COPYTOxyz【xls】,可以将XS表复制成Excel文件xyz.xls.
69、在VFP中创建一个新的数据库后,系统会生成3个文件,其文件扩展名分别为
【.dbc】(数据库户文件),.dct(数据库备注文件)和.dcx(数据库索引文件).
70、希望所有表在打开时为共享方式,其SET命令为【SETEXCLoff】.
71、利用DBGETPROP()函数,可以返回当前数据库的属性,也可以返回当前数据库中表,
表的子段或视图的有关属性.例如,要得到JS表的记录级有效性规则表达式,
可以使用函数:
DBGETPROP("js","【TABLE】","RuleExpression")
72、使用SETFILTERTO命令所设置的过滤器,对DELETE-SQL命令、UPDATE-SQL命令及【SELECT-SQL】命令不起作用.
73、设在1号工作区中打开xS表,若要求在2号工作区中再次打开xs表且别名设置为XUESHENG,则可使用命令:
USEXS【Alias】xueshengIN2AGAIN
二、单项选择
1、数据库表的字段格式用于指定字段显示时的格式,包括在浏览窗口、表单或报表中显示时的大小写和样式,在说明格式时,格式可以使用一些字母(或字母的组合)来表示下列有关字段格式的格式字符的叙述中,不正确的是(C).
A、格式字符A表示只允许字母和汉字,不允许使用空格和标点符号
B、格式字符D用于控制日期和显示格式
C、格式字符T用于控制时间的显示格式
D、格式字符!
将字母转换为大写字母
2、若要将当前工作区中打开的表文件GZB.DBF复制到GZB1.DBF文件,则可以使用命令(D).
A、COPYGZB.DBFGZB1.DBFB、COPYTOGZB1REST
C、COPYTOGZB1STRUD、COPYTOGZB1
3、数据库不包含以下那一个对象(B).
A、数据库表B、查询C、视图D、存储过程
4、用表设计器创建一个自由表时,不能实现的操作是(D).
A、设置某字段可以接受NULL值B、设置表中某字段的类型为通用型
C、设置表的索引D、设置表中某字段的默认值
5、设有一个教师js,含有一个字符型字段xb(表示教师的性别).下列命令中语法正确的是(A).
A、DELETEFROMjsWHERExb='男'B、DELETETABLEjsWHERExb='男'
C、DELETEFROMjsFORxb='男'D、DELETETABLEjsFORxb='男'
6、有如下一段程序:
CLOSETABLESALL
USEXS
SELE3
USEJS
USEKCIN0
BROW
上述程序执行后,浏览窗口中显示的表及当前工作区号分别是(C).
A、KC、2B、KC、3C、JS、3D、JS、2
7、VFP创建一个数据库之后在缺省目录中生成三个文件为(D).
A、dbc,dbx,dctB、dbf,fpt,cdx
C、dbc,dbf,dcxD、dbc,dcx,dct
8、XS(学生)表中有XM(姓名,字符型)和XB(性别,字符型)等字段.
如果要将所有男生记录的姓名字段值清空,则可以使用命令(B).
A、UPDATExsSETxm=""WHERE"xb"=男
B、UPDATExsSETxm=SPACE(0)WHERExb="男"
C、UPDATExsSETxm=SPACE(0)FORxb="男"
D、UPDATExsSETxm=""FORxb="男"
9、在创建表索引时,索引表达式可以包含表的一个或多个字段.在下列字段类型中.不能直接选作索引表达式的是(D).
A、货币型B、日期时间型C、逻辑型D、备注型
10、在下列关于数据库表和临时表(Cursor)的叙述中,正确的是(C).
A、数据库表随着其所在的数据库的打开而打开,也随着其所在的数据库的关闭而关闭
B、基于数据库表创建的临时表随着数据库的打开而打开,也随着数据库的关闭而关闭
C、用BROWSE命令可浏览数据库表,也可浏览临时表
D、临时表被关闭后,可使用USE命令再次将其打开
11、在VisualFoxPro系统中,数据库表的字段默认值保存在(B).
A、项目文件中B、数据库文件中
C、数据库表文件中D、数据库表的备注文件中
12、设某数据库中的学生表(XS.DBF)已在2号工作区中打开,且当前工作区为1号工作区,
则下列命令中不能将该XS表关闭的是(D).
A、CLOSETABLEB、USEIN2C、CLOSEDATABASEALLD、USE
13、打开一个无记录的空表,若未作任何与记录指针移动相关的操作,则执行命令"?
RECNO(),BOF(),EOF()"后屏幕上应显示(C).
A、0、.T.和.T.B、0、.T.和.RC、1、.T.和.T.D、1、.T.和.R
14、希望在命令窗口中修改一张已存在的表,则(A).
A、先将表打开,再使用modistru命令
B、先将表打开,再使用altertable命令
C、可以不打开表,使用modistru命令
D、以上方法都可以
15、触发器上绑定在表上的表达式,当表中的记录被指定的操作命令修改时,触发器被激活VisualFoxPro提供的触发器不包括(B).
A、删除触发器B、级联触发器C、更新触发器D、插入触发器
16、数据库表的主索引(及候选索引)的设置可以实现(B).
A、域完整性B、实体完整性C、参照完整性D、用户自定义完整性
17、函数SELECT
(1)的返回值是(D).
A、当前工作区号B、当前工作区的下一个工作区号
C、当前未被使用的最小工作区号D、当前未被使用的最大工作区号
18、对于自由表来说,不可以创建的索引类型是(A).
A、主索引B、候选索引C、唯一索引D、普通索引
19、若为xs.dbf表添加一个宽度为6的字符型字段mc,以下命令中正确的是(A).
A、altertablexsaddmcc(6)
B、alterxs.dbfaddcolumnmcc(6)
C、alterxs.dbfaddmcc(6)
D、altertablexsaddfieldmcc(6)
20、在创建索引时,索引表达式可以包含一个或多个表字段.在下列数据类型的字段中,不能作为索引索引表达式的字段为(C).
A、日期型B、字符型C、备注型D、数值型
21、在VFP中,如果指定两个表的参照完整性的删除规则为"级联",则当删除父表中的记录时,(C)
A、系统自动备份父表中被删除记录到一个新表中
B、若子表中有相关记录,则禁止删除父表中记录
C、自动删除子表中所有相关记录
D、不作参照完整性检查,删除父表记录与子表无关
22、依次执行下列命令后,浏览窗口中显示的表的别名及当前工作区号分别是(A).
CLOSETABLESALL
USEjs
SELECT5
USEjsAGAIN
SELECTO
USEjsAGAIN
BROWSE
A、B、2B、TS、2C、B、5D、E、2
23、表(table)是存储数据的容器.在下列有关VFP表的叙述中,错误的是(D).
A、每个表最多只能包含200多个字段
B、新建一个表后,一般会生成1~3个文件
C、自由表与数据库表在数据存储功能上是相同的,但在数据管理与控制功能上有差别
D、自由表添加到数据库中变成数据库表,而数据库表移出数据库则变成自由表
24、数据库(database)是许
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP VFP 第三章习题 第三 习题