计算机二级Visual FoxPro复习题 课本重点.docx

上传人:b****5 文档编号:7373349 上传时间:2023-01-23 格式:DOCX 页数:32 大小:38.12KB
下载 相关 举报
计算机二级Visual FoxPro复习题 课本重点.docx_第1页
第1页 / 共32页
计算机二级Visual FoxPro复习题 课本重点.docx_第2页
第2页 / 共32页
计算机二级Visual FoxPro复习题 课本重点.docx_第3页
第3页 / 共32页
计算机二级Visual FoxPro复习题 课本重点.docx_第4页
第4页 / 共32页
计算机二级Visual FoxPro复习题 课本重点.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

计算机二级Visual FoxPro复习题 课本重点.docx

《计算机二级Visual FoxPro复习题 课本重点.docx》由会员分享,可在线阅读,更多相关《计算机二级Visual FoxPro复习题 课本重点.docx(32页珍藏版)》请在冰豆网上搜索。

计算机二级Visual FoxPro复习题 课本重点.docx

计算机二级VisualFoxPro复习题课本重点

第三章:

1、常量

例:

“学生”表的结构为(学号C(4),姓名C(8),出生日期D,身高N(4,2)),下面可使用INSERTINTO插入到表中的记录是。

A、(“1001”,“张立”,1985/11/12,1.75)

B、(“1001”,“张立”,“1985/11/12”,“1.75”)

C、(“1001”,“张立”,{^1985/11/12},1.75)

D、(“1001”,“张立”,{1985/11/12},“1.75”)

2、变量

赋值:

变量名=表达式STORE表达式TO变量名表

显示:

和?

清除:

CLEAR或RELEASE

例:

下列赋值语句中,正确的是

A、STORE1TOX,Y,Z

B、STORE1,2,3TOX

C、STORE1TOX、Y、Z

D、STORE1、2、3TOX、Y、Z

3、表达式

各类运算符及其优先级

SETEXACTON/OFF设置

例:

下列表达式中运算结果为逻辑真的是

A、“总经理”$“经理”B、3+5#2*4

C、“计算机”<>“计算机”D、2003/05/01==CTOD(“05/01/03”)

例:

计算表达式2-10>15.or.“a”+”b”$”123abc”的值为:

4、函数

例:

顺序执行以下赋值命令后,下列表达式中错误的是

X=“123”

Y=4*5

Z=“ABC”

A、&X+YB、&Y+ZC、VAL(X)+YD、STR(Y)+Z

例:

下列日期表达式错误的是

A、{^2003/02/09}+15B、{^2003/02/09}+DATE()

C、{^2003/02/09}-15D、{^2003/02/09}-DATE()

例:

下列各字符型函数中,其函数返回值不是数值型的是

A、LEN(“2003/04/15”)B、AT(“Fox”,“VisualFoxpro”)

C、LIKE(“a*”,“abcd”)D、SUBSTR(“VisualFoxpro”,8,3)

例:

在命令窗口逐步执行以下命令:

X=“□□计算机”

Y=“□□信息□□□”

Z=(“世界□□□”)

TRIM(X)+LTRIM(Y)+ALLTRIM(Z)

显示的结果为。

&&“□”代表空格

A、计算机□□信息世界□□□B、□□计算机信息□□□世界

C、□□计算机□□信息世界□□□D、计算机信息世界

例:

假设已有一个人事档案数据文件RSK.DBF:

职工号

姓名

性别

出生日期

职称

工作日期

婚否

1011

王民德

09/12/67

工程师

07/18/89

F

1002

李民

T

1025

赵林

F

1009

陆海

T

1007

黄昆

T

写出下面命令的显示结果:

USERSK

RECNO(),BOF(),EOF()a)

SKIP–1

RECNO(),BOF(),EOF()b)

GOBOTTOM

SKIP

?

RECNO(),BOF(),EOF()c)

 

第四章

1、数据表:

字段名和记录两部分组成

a)自由表字段名最长为10个字符

b)数据库字段名最长为128个字符

例:

某数值型字段的宽度为10,小数位数为3,则该字段整数部分的最大取值为。

A、9999999999B、9999999C、999999D、99999

2、表的维护命令

✓表结构的建立:

格式:

a、CREATE<表名>

b、CREATETABLE<表名>(<字段名1><字段类型><字段宽度>,<字段名2>…])

例:

建立专业特长表zytc.dbf

createtablezytc(编号c(8),专业c(15),专业年限n

(2),职称c(10),英语水平c(8))

liststructure

insertintozytcvalues(“bj10001”,”计算机应用”,20,”教授”,“精通”)

insertintozytcvalues(“bj11002”,”环境工程”,24,”高级工程师”,“精通”)

insertintozytc(编号,专业,英语水平)values(“sh11005”,“文学创作”,“一般”)

✓表结构的修改

ALTERTABLE<表名>ADD|ALTER<字段名><字段类型>[(<字段宽度>[,<小数位数>])]

ALTERTABLE表名DROP<字段名1>

RENAMECOLUMN<字段名2>TO<字段名3>

✓数据表的打开和关闭

USE[<表文件名>][alias<表的别名>][in<工作区号>][exclusive]|[onupdateshared]

✓数据表的显示

表结构的显示

liststructure|displaystructure

区别:

当显示满一屏后,displaystruc将暂停显示,等待按任意键才继续显示。

而liststruc并不暂停,屏幕继续向前滚动显示。

数据的显示

a、 browse[<范围>][fields<字段名表>][for<条件>]

b、list|display[<范围>][fields<字段名表>][for<条件>]

[off][toprinter][tofile<文件名>]

例:

表示在“学生”表中政治分数超过80分和不及格的女生记录,应当使用命令。

(A)LISTFOR性别=“女”,政治>80,政治<60

(B)LISTFOR性别=”女”.OR.政治>80.OR.政治<60

(C)LISTFOR性别=”女”.AND.政治>80.AND.政治<60

(D)LISTFOR性别=”女”.AND.(政治>80.OR.政治<60)

✓表结构的修改和表内容的复制

表结构的修改:

modifystructure

复制任何文件:

COPYFILE<文件名1>TO<文件名2>

说明:

•若对表进行复制,该表必须处于关闭状态。

•文件名都可以使用通配符。

从表复制出表或其它类型的文件

COPYTO<文件名>[<范围内>][FOR<条件>][FIELDS<字段名表>]

例:

usercda

copytoa2fields编号,姓名for性别=”女”

copytob1next3

复制表的结构:

COPYSTRUCTURETO<文件名>[FIELDS<字段名表>]

✓记录指针的移动

RECNO()函数:

返回当前工作区中当前记录的记录号。

记录定位命令:

•格式1:

GO[TO]TOP|BOTTOM

•格式2:

[GO[TO]]数值表达式

记录移动命令:

格式:

SKIP[<数值表达式>]

例:

下列命令中,使记录指针指向原来的记录的是。

(A)GO1(B)SKIP1(C)LISTNEXT1(D)LIST

✓记录的插入与追加

在指定位置插入新记录:

INSERT[BLANK][BEFORE]

在表尾追加新记录:

Append[blank]

insertinto表名[(字段名1[,字段名2,···])]values(表达式1[,表达式2,···])

说明:

(1)表不必事先打开,字段与表达式的类型必须相同。

(2)若字段名全部缺省,就须按表结构字段顺序填写values子句的所有表达式。

例:

在rcda.dbf表尾追加一条新记录.

insertintorcda(编号,姓名,性别,出生日期,工资现状,党员否);

values(“bj00001”,”张三”,”男”,{12/24/67},2000,.T.)

 

appendfrom<文件名>[fields<字段名表>][for<条件>]

✓表记录的删除和恢复

记录的逻辑删除:

DELETE[<范围>][FOR<条件>]

记录物理删除:

PACK

记录恢复:

RECALL[<范围>][FOR<条件>][WHILE<条件>]

记录清除:

ZAP

✓表数据的替换

replace<字段名1>with<表达式1>[,<字段名2>with<表达式2>…[<范围>][for<条件>]

例如:

usercda.dbfexclusive

replaceall工资现状with工资现状+1000

appendblank

replace编号with“dg00000”,姓名with“唐红”

list

update<数据表名>set<字段名1>=<表达式1>

[,<字段名2>=<表达式2>…][where<条件>]

例:

将表“选课”的001号学生成绩增加10分。

update选课set成绩=成绩+10where学号=“001”

 

3、索引与查询

✓排序:

SORTTO<新文件名>ON<字段名1>[/A|/D][,<字段名2>[/A|/D]…]

[范围][FOR<条件>][FIELDS<字段名表>]

注:

排序后生成一个新物理顺序的新表,但原表的顺序不变,两表相互独立。

不可选用备注型或通用型字段来排序。

/A和/D分别来指定升序或降序。

例:

对rcdn.dbf文件重新排序形成新的文件zz.dbf,要求新文件将女性记录按编号降序排序,并要求新表只包含编号、姓名2个字段。

usercdn

sorttozzon编号/dfor性别=“女”fields编号,姓名

usezz

list

✓索引的建立

创建单索引文件(文件名.IDX)

INDEXON<关键字>TO<索引文件名>+[子句]

创建非结构复合索引文件(文件名.CDX)

INDEXON<关键字1>TAG<索引标记1>OF<索引文件名>+[子句]

INDEXON<关键字2>TAG<索引标记2>OF<索引文件名>+[子句]

创建结构复合索引文件(表名.CDX)

INDEXON<关键字1>TAG<索引标记1>+[子句]

INDEXON<关键字2>TAG<索引标记2>+[子句]

[子句]:

[for<条件>][ascending][descending][unique][candidate][additive]

例1:

建立单索引文件示例。

usercdn

indexon姓名toxm

list

indexon工资现状togzdesc

list

例2:

建立结构复合索引文件示例。

usercdn

indexon编号tagbhcandi

list

indexon工资现状taggzxzh

list

indexon性别+编号tagxbbhdesc

list

indexon性别+str(工资现状)tag性别和工资

list

 

✓索引的使用:

三步曲:

打开表、打开索引文件、确定主控索引文件或主控索引。

✧打开和关闭单索引或非结构复合索引文件:

setindexto[<索引文件表>]

use<表名>index<索引文件表>

✧确定主控索引:

setorderto<单索引文件名>|[tag]<索引标识>[of非结构复合索引文件名]

取消:

Setorderto[0]

例:

usexsqk

list

setordertotagxb

list

setorderto

list

setordertotz

list

例:

执行如下语句:

USE工资表

LIST

Reord#姓名年龄职称工资

1张清21工人530.00

2李亩29工程师800.00

3王芳18工人500.00

4赵德32技术员600.00

INDEXON职称+STR(1000-工资,7,2)TOZG

LIST姓名,工资

其中前两条记录从上到下显示的是、。

4、查询命令

✓顺序查询命令:

locate和continue

locatefor<条件>[<范围>]

注:

(1)缺省<范围>表示all;

(2)查到记录后,要继续往下查找满足条件的记录必须用continue.

例:

在rcdn.dbf中查询年龄>40,工资<3000的记录。

usercdn

locateforyear(date())-year(出生日期)>=40and工资现状<3000

display

continue

display

continue

✓索引查询命令:

seek

命令格式:

seek<表达式>

find<字符串>|<数值常量>

功能:

在已确定主控索引的表中按索引关键字搜索满足<表达式值>的第一个记录。

系统允许模糊查询SETEXACTON|OFF

例:

索引查找编号为“gz05001”、姓名为“王国民”的记录。

usercdn

indexon编号tagbh

seek“gz05001”

?

Recno()

display

indexon姓名tagxm

seek“王国民”

?

Recno(),found()

✓用命令来建立关联

•建立关联命令:

setrelationto关联字段名into<别名1>

功能:

以当前表为父表与其它子表建立临时关联.

说明:

(1)关联字段名用来指定父表的字段表达式,其值将与子表的索引关键字值对照,看是否相同.<别名>表示子表或其所在的工作区.

(2)命令setrelationto为解除关联。

例:

查询学生选修课情况,包括:

学号、姓名、所选修课程代号及相应成绩

sele2

usexk

indexon学号tagxh

sele1

usexsqk

setrelationto学号intoxk

browsefields学号,姓名,b.课程代号,xk.成绩

例:

使用a)命令把当前表文件与<别名>代表的表文件逻辑联接以后,移动当前表文件的指针时,<别名>代表的表文件记录指针将自动地移到b)的记录上。

a)⑴setrelationto<关键字表达式>into<别名>

⑵updateon<关键字段名>from<别名>

⑶setrelationtob

⑷joinwith<别名>to<目标表文件>

b)⑴与当前表文件当前记录的记录号相同

⑵与当前表文件当前记录关键字值相同

⑶表文件的开头

⑷表文件的末尾

例:

假设有两个数据库文件如下:

库存量文件KCL.DBF销售量文件XSL.DBF

商品名

库存量

商品名

销售量

销售额

电视机

20

电视机

5

2000.00

洗衣机

15

自行车

8

1600.00

收音机

50

洗衣机

3

900.00

电风扇

30

电冰箱

4

3200.00

电冰箱

10

电风扇

10

1500.00

自行车

50

收音机

0

0.00

请阅读下面的程序,给出程序运行的结果:

settalkoff

select1

usekcl

indexon商品名tagspm

select2

usexsl

setrelationto商品名intoa

dowhile.not.eof()

select1

?

?

recno()

select2

skip

enddo

5、统计命令

✓计数命令:

COUNT[<范围>][for<条件>][to<内存变量>]

✓求和命令

SUM[<数值表达式表>][<范围>][for<条件>][to<内存变量表>|array<数组>]

✓求平均值命令

AVERAGE[<数值表达式表>][<范围>][for<条件>]

[to<内存变量>|array<数组>]

✓计算命令:

calculate[<表达式表>][<范围>][for<条件>]

[to<内存变量>|array<数组>]

说明:

<表达式表>由8个系统函数Average()、max()、min()、cnt()、sum()、npv()、std()、var()来完成。

✓汇总命令:

totalto<文件名>on<关键字>[fields<数值型字段表>]

[<范围>][for<条件>]

功能:

在当前表中,分别对关键字值相同的记录的数值型字段值求和,并将结果存入一个新表。

说明:

先分类(按关键字排序或索引),再汇总

例:

判断下列命令组唯一正确的是:

⑴use职工

listall职工号,姓名,工资for“工资”<100

⑵use职工

replacefor姓名=黄小音with王小音

⑶use职工

indexon部门tobm

totalon部门tobmgzallfields工资

⑷use职工

日期=‘12/31/60’

replaceallfor出生日期<日期出生日期with出生日期+1

例:

将文件AA.DBF的全部记录添加到文件BB.DBF的末尾,可用命令实现。

⑴APPEND⑵COPYAA.DBFTOBB.DBF

⑶USEBB⑷USEAA

APPENDFROMAAAPPENDFROMBB

第5章数据库的基本操作

1、数据库的建立

2、数据库表的建立、加入

3、数据库表的永久性关联的建立及数据库表的约束性定义

第6章SQL语言的应用

Select[All|Distinct]<字段名1>|<函数>[,<字段名2>……]

From<表或查询>[[Left][Right]Join<表或查询>On<条件表达式>]

[Where<条件表达式>]

[OrderBy<排序选项>[Asc][Desc]]

[GroupBy<分组字段名>[Having<条件表达式>]]

[intotable|dbf<表文件名>]

[intocursor临时文件名]

[tofile<文件名>|toprinter|toscreen]]

例:

1)假设有学生表和成绩表两个数据表问家,如果要查找总分在350分以上的学生姓名及名次,下列语句中正确的是。

A、SELE姓名,名次FROM学生,成绩

B、SELE姓名,名次FROM学生,成绩WHERE总分>350

C、SELE姓名,名次FROM学生,成绩WHERE总分>350OR学生.学号=成绩.学号

D、SELE姓名,名次FROM学生,成绩WHERE总分>350AND学生.学号=成绩.学号

2)嵌套查询命令中的IN相当于。

A、等号(=)B、集合运算符(∈)

C、加号(+)D、减号(-)

3)查询选课成绩不及格的学生的姓名。

SELE姓名FROMXSQKWHERE学号IN(SELE学号FROMXKWHERE成绩<60)

4)求各种血型的同学的平均身高

5)求“O”型血的学生的数学成绩的平均值。

6)若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是。

A、SELECOUNT(学号)FROM选课

B、SELECOUNT(*)FROM选课

C、SELECOUNT(DISTINCT)FROM选课

D、SELECOUNT(DISTINCT学号)FROM选课

7)为工资表中的工资字段定义有效性检查及错误的是。

A、ALTERTABLE工资表ALTER工资CHECK工资>0ERROR“工资应为正数”

B、ALTERTABLE工资表ALTER工资SET工资CHECK工资>0ERROR工资应为正数

C、ALTERTABLE工资表SETCHECK工资>0ERROR“工资应为正数”

D、ALTERTABLE工资表ALTER工资SETCHECK工资>0ERROR“工资应为正数”

8)语句DELETEFROM成绩表WHERE总分<240的功能是

A、物理删除成绩表中总分在240分以下的学生记录

B、逻辑删除成绩表中总分在240分以下的学生记录

9)在SQL中,用来删除表的命令是

A、DELETABLEB、DELEDATABASEC、ERASETABLED、DROPTABLE

10)查询每门课程的学生人数:

SELEFROM选课表课程号

11)统计“选课表”中选修了课程的学生人数:

SELEFROM选课表

12)将选课表中的“成绩”字段名改为“选课成绩”,则语句为:

ALTERTABLE选课表

13)将所有教授的工资提高5%

教师表SET工资=工资*1.05职称=“教授”

14)使用SQL语句将一条新的记录插入学院表中

INSERT学院(系号,系名)(“04”,“计算机”)

 

第7章视图与查询

1)在查询设计器中,查询去向不包括。

A、浏览B、表C、视图D、报表

2)SQL中的GROUPBY和HAVING短语对应查询设计器上的选项卡是

A、筛选B、分组依据C、排序依据D、联接

3)下列关于视图的说法不正确的是

A、在VisualFoxpro中,视图是一个定制的虚拟表

B、视图可以是本地的、远程的,

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

当前位置:首页 > 农林牧渔 > 林学

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

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