计算机二级VF第三章 VisualFoxPro 自由表及其数据库的操作文档格式.docx
- 文档编号:20710799
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:15
- 大小:22.13KB
计算机二级VF第三章 VisualFoxPro 自由表及其数据库的操作文档格式.docx
《计算机二级VF第三章 VisualFoxPro 自由表及其数据库的操作文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级VF第三章 VisualFoxPro 自由表及其数据库的操作文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
.?
RECNO()&
以数值型数据返回当前的记录号
1
刚打开的表文件,记录指针指向首记录
.GO78+1
RECNO()
79
.SKIP
80
.SKIP–3
77
.GOBOTTOM&
将记录指针指向尾记录
100
RECCOUNT()&
以数值型数据返回当前表的记录个数
EOF()&
当记录指针下出表时返回.T.
.F.
.SKIP
EOF(),RECNO()
.T.101
当记录指针下出表时,记录号为当前表记录总数加1
.GOTOP&
定位到首记录
RECNO(),BOF()&
BOF()当指针上出表时返回.T.
1.F.
.SKIP–1
BOF(),RECNO()
.T.1
当记录指针上出表时,记录号为1
*.表文件检测函数
(1).记录号测试函数
(2).表文件尾部测试函数
EOF().T.:
下出表.F.:
表内或上出表
(3).表文件首部测试函数
BOF().T.:
上出表.F.:
表内或下出表
(4).记录个数测试函数
RECCOUNT()
【范围】
1.ALL:
表示所有记录
2.NEXT<
:
表示从当前记录开始连续的N个记录
3.RECORD<
表示第N条记录
4.REST:
表示从当前至表尾的所有记录
显示DJKS.DBF表中的所有信息
.DISPLAYALL
.LISTALL
.LIST
.?
DISPLAY与LIST均为显示命令,但DISPLAY为分屏显示,而LIST为滚屏显示.在无范围时,DISPLAY默认显示当前记录,而LIST默认显示所有记录
显示90条(包括第90条)以后的所有记录
.GO90
.DISPREST
EOF()
.T.
以ALL为范围或以REST为范围的命令在使用结束后一般记录指针会下出表(LOCATE命令除外)
显示从第50条记录开始的连续7条记录
.GO50
.DISPNEXT7
56
以NEXT为范围的命令使用完成后,记录指针大多指向范围内最后一条记录(LOCATE命令除外)
例:
显示第17条记录的信息
.GO17
.DISP
注:
也可用命令DISPRECORD17
17
以RECORD为范围的命令使用完,记录指针指向指定的记录
【条件】
1.FOR<
条件>
表示对满足条件的记录进行操作。
2.WHILE<
表示对满足条件的记录进行操作,但遇到第一个不满足条件的记录就终止操作。
当使用条件短语而没有范围短语存在时,FOR<
的默认范围为ALL,WHILE<
的默认范围为REST
显示所有性别为男的考生信息
.DISPFOR性别=[男]
显示所有性别为女的考生信息
.DISPFOR性别="
女"
.DISPFOR性别!
=[男]
.DISPFOR!
性别=[男]
显示所有成绩合格的考生的信息
.DISPFOR笔试>
=60AND上机>
=60
.DISPFOR结论=[优秀]OR结论=[通过]
.DISPFORMIN(笔试,上机)>
.DISPFORALLT(结论)$[通过优秀]
显示所有性别为男且成绩合格的考生信息
.DISPFOR性别=[男]AND(结论=[优秀]OR结论=[通过])
显示前50条记录中的补考考生信息
.GOTOP
.DISPNEXT50FOR结论=[补考]
显示订购单表中所有供应商号为NULL值的记录
.USE订购单
.DISPFORISNULL(供应商号)
显示订购单表中所有供应商号不为NULL值的记录
ISNULL(供应商号)
显示DJKS表中笔试和上机成绩均在70-80之间的考生信息
.USEDJKS
.DISPFOR笔试>
=70AND笔试<
=80AND上机>
=70AND上机<
=80
.DISPFORBETWEEN(笔试,70,80)ANDBETWEEN(上机,70,80)
【指定字段】
FIELDS字段名表:
表示对指定的字段进行操作。
显示所有考生的考号,性别,姓名,结论信息
.DISPFIELDS考号,性别,姓名,结论ALL
显示前20条记录中所有性别为女的考生的考号,姓名,结论信息
.DISPFOR性别=[女]FIELDS考号,姓名,结论NEXT20
命令除"
命令动词"
必须在最前面之外,其它各个短语的先后顺序无关紧要
*在对记录的操作命令中,"
范围"
和"
条件"
短语是进行"
选择操作"
而"
字段名列表"
则是进行"
投影操作"
五、记录的显示
LIST|DISP[范围][条件][字段名表][OFF]
【DISP默认范围为当前记录,LIST默认范围为ALL】
.DISPALL姓名-IIF(性别=[男],[先生],[女士])-"
您的考试成绩为:
"
-结论OFF
OFF:
有此选项时,显示时不显示记录号
IIF(L,表达式1,表达式2):
当括号内的L为.T.时,返回表达式1的值,反之返回表达式2的值
六、自由表的复制
COPYTO<
新表文件名>
[范围][条件][字段名表]
功能:
将当前表中的指定内容复制到指定的新表文件中
将DJKS表中的所有信息复制到DJKSBAK.DBF中
.USEDJKS
.COPYTODJKSBAK
.USEDJKSBAK
.BROWSE&
浏览编辑
通过COPYTO命令生成的表文件不会自动打开
将DJKS表中所有性别为男的合格考生保存到NAN.DBF中,所有性别为女的合格考生保存在NV.DBF中
.COPYTONANFOR性别=[男]AND笔试>
.COPYTONVFOR性别=[女]ANDALLT(结论)$[优秀通过]
COPYSTRUCTURETO<
表文件名>
[字段名表]命令为仅复制表的结构,新表将是一个只有结构而无记录的空表
.COPYSTRUTOLSHFIELDS考号,姓名,性别,结论
.USELSH
RECNO(),EOF(),BOF(),RECCOUNT()
1.T..T.0
七、修改记录
1.交互式修改命令
EDIT|CHANGE
2.浏览编辑
BROWSE
3.命令替换
REPLACE[范围][条件]<
字段名1>
WITH<
表达式1>
…
【默认范围为当前记录】
用WITH后表达式的值替换WITH前指定字段的当前值.要求:
表达式的类型与字段的类型一致.可以一次为多个字段改值.注:
只能对有记录内容的字段进行修改(空记录也可以)
.USEDJKSBAK
.REPL结论WITHSPACE(6)ALL
.REPLALL结论WITH[通过]
.REPL结论WITH[优秀]FORMIN(笔试,上机)>
=85
.REPL结论WITH[补考]FOR笔试<
60OR上机<
60
.REPL结论WITH[未过]FORMAX(笔试,上机)<
4.表结构的修改
MODIFYSTRUCTURE
显示结构为LIST|DISPLAYSTRUCTURE
八、记录的删除与恢复
1.逻辑删除
DELE[范围][条件]
逻辑删除DJKSBAK表中所有成绩为'
未过'
的考生信息
.DELEFOR结论=[未过]
.BROWSE
逻辑删除DJKSBAK表中所有性别为男且结论为'
补考'
.DELEFOR性别=[男]AND结论=[补考]
删除第4条记录
.GO4
.DELE&
删除当前记录
DELE()
当前记录有逻辑删除标记时,DELETE()函数的返回值为.T.
显示所有有删除标记的记录
.DISPFORDELE()
将当前表无删除标记的记录复制到DJ.DBF中
.COPYTODJFOR!
2.恢复删除
RECALL[范围][条件]
恢复前50条中,性别为男的考生的被删除标记
.GOTOP
.RECANEXT50FOR性别='
男'
.BROWSE
3.物理删除
PACK
物理删除当前表中有删除记号的记录
.PACK
4.物理删除所有记录
命令:
ZAP
物理删除当前表中所有记录
.ZAP
本命令使用完后当前表将成为空表(只有结构而无记录)
将DJKS表的记录追加到当前表中
.APPENDFROMDJKS
APPENDFROM<
另一表名>
命令的功能为:
将另一个表文件中信息追加到当前表中,使用完后,当前记录为尾记录(BOTTOM);
另外,如果另一表中的字段名或类型与当前表不相符,则会追加空记录;
另一表要处于关闭状态
九、条件查找命令
LOCATEFOR<
[范围]
【记录指针定位在满足条件的第一条记录,使用CONTINUE命令可以查找到满足条件的其它记录】
例.LOCATEFOR性别=[男]AND结论=[优秀]
FOUND(),EOF()
.T..F.
.COUNTIUE&
在上一个LOCATE命令的剩余范围内继续查找
性别,结论
男优秀
十、排序
SORTTO<
ON<
字段1>
[/A][/D][/C]…[范围][条件][字段名表]
【排序又称分类。
A升序D降序C不区分大小写字母】
将DJKS表中的信息按笔试成绩值降序,笔试相同按上机成绩降序保存在文件PX1.DBF中
.SORTTOPX1ON笔试/D,上机/DFIELDS考号,姓名,笔试,上机
将DJKS表中的信息按结论升序,结论相同按性别升序保存在文件PX2.DBF中
.SORTTOPX2ON结论,性别
.USEPX1
.USEPX2
第二节VisualFoxPro数据库及数据库表的基本操作
一、建立数据库
CREATEDATABASE<
数据库文件名>
二、打开数据库
OPENDATA<
三、修改数据库
MODIDATA[数据库文件名]
四、关闭数据库
CLOSEDATA[ALL]
有ALL选项为同时关闭所有数据库
五、删除数据库
DELEDATA<
[DELETETABLES][RECYCLE]
【DELETETABLES:
删除数据库
RECYCLE:
删除后存入回收站】
创建订货管理.DBC数据库
.CREADATA订货管理
打开数据库订货管理
.OPENDATA订货管理
修改数据库订货管理
.MODIFYDATA订货管理
关闭数据库
.CLOSEDATA
删除数据库订货管理
.DELETEDATA订货管理
要删除一个数据库,则该文件必需处于关闭状态
六、数据库表的建立
*在打开数据库的情况下,建立的表文件才可成为数据库表,否则为自由表。
【字段有效性】
规则(字段有效性规则):
逻辑表达式
信息(违背字段有效性时的提示信息):
字符串表达式
默认值(字段默认值):
则以字段类型确定
【显示】
格式(必须以@开头)
格式符
功能
@!
全部为大写
@J
字符居右
@I
字符居中
@^
采用科学计数法(N)
@Z
如果为零保持为空(N)
@L
数字前导零(N)
输入掩码:
X
允许输入任何字符
9
允许输入数字和正负号
#
允许输入数字、空格和正负号
*
在数值左边显示星号
.
指定小数点位置
A
只允许为字母
标题:
指定字段在显示时的标题
创建数据库"
人事管理.DBC"
并在库中创建数据库表"
RSGL.DBF"
表结构要求略,其它要求如下:
1.各字段均设置相应的"
标题"
显示
2.设置"
BH"
字段的显示"
格式"
为全部大写(@!
),"
输入掩码"
为:
A999"
3.设置"
XM"
为居中(@I)
4.设置"
XB"
字段的有效性规则为:
XB$[男女]"
信息为:
[性别只能输入男或女]"
默认为:
[男]"
5.设置"
CS"
BETW(YEAR(CS),1970,1988)ORISNULL(CS)"
[出生年份必需在1970-1988之间!
]"
6.设置"
JB"
JB>
=0"
[基本工资不能小于0!
5000"
7.设置"
JJ"
JJ>
[奖金不能小于0!
150"
七、将自由表添加至数据库
ADDTABLE<
|?
[NAME长表名]
*一个表只属于一个数据库
八、从数据库中移出表
REMOVETABLE<
[DELETE][RECYCLE]
【DELETE:
从磁盘中删除RECYCLE:
移入回收站,而不是删除】
*一个数据库表从数据库移出之后则变成一个自由表
创建数据库订货管理.DBC,并将表文件仓库,职工,订购单,供应商添加到数据库中,再将这四个数据库表从数据库中移去
.MODIDATA订货管理
.ADDTABLE仓库
.ADDTABLE职工
.ADDTABLE订购单
.ADDTABLE供应商
.REMOVETABLE仓库
.REMOVETABLE职工
.REMOVETABLE订购单
.REMOVETABLE供应商
九、表文件的索引
1.索引文件的类型
(1)主索引:
在指定字段或表式中不允许出现重复值,一个表只能有一个主索引,只能适用于数据库表。
(2)候选索引:
在指定字段或表式中不允许出现重复值,一个表可以有多个候选索引。
(3)唯一索引:
把指定字段值重复的记录排除在索引文件之外。
(4)普通索引:
允许指定字段值重复。
2.用命令建立索引文件
格式INDEXON<
索引表达式>
TAG<
索引名>
[条件][ASCE|DESC][UNIQ][CAND]
【ASCE:
升序 DESC:
降序UNIQ:
表示唯一索引CAND:
候选索引】
3.表设计器中建立索引
先打开表设计选中索引字段选择索引(无、升、降)选择“索引”选项卡输入索引名(索引文件名)、选择索引类型(主索引、候选索引、唯一索引、普通索引)、表达式(索引表达式)、筛选(条件)
4.设置当前索引
SETORDERTO[TAG]<
[ASCE|DESC]
*不管索引是按升序还是按降序建立,当使用ASCE或DESC选项时可重新指定升序或降序
5.删除索引
命令格式:
DELETAG<
ALL|索引名>
为DJKS.DBF表,按笔试字段创建升序索引,索引名为BSH,按上机字段创建降序索引,索引名为SHJ,按结论字段创建升序唯一索引,索引名为JL,按笔试+上机创建降序索引,索引名为ZF(总分)
.INDEXON笔试TAGBSH
.INDEXON上机TAGSHJDESC
.INDEXON结论TAGJLUNIQUE
.INDEXON笔试+上机TAGZFDESC
设置BSH索引为当前索引
.SETORDERTOBSH
恢复记录的物理顺序
.SETORDERTO
删除索引BSH
.DELETETAGBSH
删除所有索引
.DELETETAGALL
十、参照完整性
1.建立表之间联系
*必须在父表中建立主索引,在子表中建立普通索引,然后通过父表中的主索引与子表普通索引建立两表的联系
打开数据库设计器设置表文件的索引用鼠拖动建立关系
2.删除表之间联系
打开数据库设计器选定关系用"
DEL"
键删除
3.设置参照性约束
打开数据库设计器数据库编辑参照完整性
*先要清理数据库(物理删除带逻辑删除标记的记录)
创建数据库订货管理.DBC,并将表文件仓库,职工,订购单,供应商添加于数据库中;
为仓库表创建仓库号主索引,职工表创建职工号主索引和仓库号普通索引,为订购单表创建订购单号主索引和职工号,供应商号普通索引,为供应商表创建供应商号主索引.所有索引的索引名与表达式均相同,且都为升序.通过相关的索引为各个表建立永久联系(按索引名相同的原则),并生成完整性约束:
更新规则为级联,删除规则为限制,插入规则为忽略.
十一、多表同时使用
1.工作区的选择
SELECT<
工作区号>
|<
*工作区号最小为1,最大为32767,默认为1。
在表打开的情况下方可使用表名
SELECT0:
表示尚未使用的工作区中编号最小的工作区号
*用USE指定工作区(USE<
IN<
)
2.不同工作区表的使用
表名.字段名
.USE职工
.USEYISHENGIN0
.USECHUFANGIN0
职工号,职工.职工号,YISHENG.职工号,CHUFANG.职工号
E1E110011002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机二级VF第三章 Visual FoxPro 自由表及其数据库的操作 计算机 二级 VF 第三 自由 及其 数据库 操作