计算机二级VF第三章 Visual FoxPro 自由表及其数据库的操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 Visual FoxPro自由表及其数据
库的操作
第一节自由表的基本操作
一、定义表结构
1.命令格式: CREATE <表名>
2.菜单/工具栏法:
文件→新建→表→新建文件→输入表名→保存→……→确定
作业:创建表文件人事管理(RSGL.DBF)并输入10条以上的数据,表文件的结构要求如下:
1 编号 BH C 4
2 姓名 XM C 6
3 性别 XB C 3
4 出生日期 CS D NULL
5 婚否 HF L NULL
6 基本工资 JB N 7,2
7 奖金 JJ I(整型)
二、记录的输入
1.在创建表文件完成后单击"是"命令按钮(针对新表)
2.追加命令(针对旧表)
命令:APPEND [BLANK]
3.插入命令
命令:INSERT [BEFORE] [BLANK]
三、自由表的使用
1.表的打开
格式:USE <表名>
注:刚创建的表文件自动处于打开状态,在当前工作区打开一个新的表文件的同时会自动关闭原有的表文件
NOUPDATE:只读方式打开
EXCLUSIVE:以独占方式打开(默认) SHARED:以共享方式打开
2.表的关闭
命令:USE
注:退出VFP时,所有打开表会自动关闭四、记录的定位
1.绝对定位
格式: GO
2.相对定位
格式: SKIP [N]
注:以当前记录为准,使记录向下(N为正)、向上(N为负)移动若干条,N的默认值为1
例: .USE DJKS &&打开表文件DJKS .?RECNO() &&以数值型数据返回当前的记录号
1
注:刚打开的表文件,记录指针指向首记录.GO 78+1
.?RECNO()
79
.SKIP
.?RECNO()
80
.SKIP –3
.?RECNO()
77
.GO BOTTOM &&将记录指针指向尾记录
.?RECNO()
100
.?RECCOUNT() &&以数值型数据返回当前表的记录个数
100
.?EOF() &&当记录指针下出表时返回.T.
.F.
.SKIP
.?EOF(),RECNO()
.T. 101
注:当记录指针下出表时,记录号为当前表记录总数加1
.GO TOP &&定位到首记录
.?RECNO(),BOF() &&BOF()当指
针上出表时返回.T.
1 .F.
.SKIP –1
.?BOF(),RECNO()
.T. 1
注:当记录指针上出表时,记录号为1 *.表文件检测函数
(1).记录号测试函数
格式:RECNO()
(2).表文件尾部测试函数
格式:EOF() .T.:下出表 .F.:表内或上出表
(3).表文件首部测试函数
格式:BOF() .T.:上出表 .F.:表内或下出表
(4).记录个数测试函数
格式:RECCOUNT()
【范围】
1.ALL:表示所有记录
2.NEXT
续的N个记录
3.RECORD
4.REST:表示从当前至表尾的所有记录例:显示DJKS.DBF表中的所有信息
.DISPLAY ALL
.LIST ALL
.LIST
.?EOF(),RECNO()
.T. 101
注:DISPLAY与LIST均为显示命令,但DISPLAY为分屏显示,而LIST为滚屏显示.在无范围时,DISPLAY默认显示当前记录,而LIST默认显示所有记录
例:显示90条(包括第90条)以后的所有记录
.GO 90
.DISP REST
.?EOF()
.T.
注:以ALL为范围或以REST为范围的命令在使用结束后一般记录指针会下出表(LOCATE命令除外)
例:显示从第50条记录开始的连续7条记录
.GO 50
.DISP NEXT 7
.?RECNO()
56
注:以NEXT为范围的命令使用完成后,记录指针大多指向范围内最后一条记录(LOCATE命令除外)
例:显示第17条记录的信息
.GO 17
.DISP
注:也可用命令 DISP RECORD 17 .?RECNO()
17
注:以RECORD为范围的命令使用完,记录指针指向指定的记录
【条件】
1.FOR <条件>:表示对满足条件的记录
进行操作。
2.WHILE <条件>:表示对满足条件的记
录进行操作,但遇到第一个不满足条件的记录就终止操作。
注:当使用条件短语而没有范围短语存在时,FOR <条件>的默认范围为ALL,WHILE <条件>的默认范围为REST
例:显示所有性别为男的考生信息
.DISP FOR 性别=[男]
例:显示所有性别为女的考生信息
.DISP FOR 性别="女"
.DISP FOR 性别!=[男]
.DISP FOR !性别=[男]
例:显示所有成绩合格的考生的信息
.DISP FOR 笔试>=60 AND 上机>=60