第四章VFP数据库创建与使用.ppt
文本预览下载声明
;引言;4.1 表的创建;4.1 表的创建 ;4.1.1 设计表结构;字段名;命令方式
可以在命令窗口中使用CREATE命令来建立表的结构。其命令格式是:
CREATE [〈表文件名〉|?]
在命令中使用?或省略该参数时,将打开“创建”对话框,提示输入表名并选择保存表的位置。;菜单方式
;4.1.3 输入表记录 ;4.2 表的基本操作;4.2.1 表的打开与关闭 ;工作区
工作区是用来保存表及其相关信息的一片内存空间
一个工作区只能打开一个表,但一个表可以同时在多个工作区打开
工作区号与别名
不同工作区可以用其编号或别名来加以区分
工作区的选择
SELECT 工作区号|别名|0
工作区的互访
在当前工作区中可以访问其他工作区中的表的数据
别名.字段名或别名-字段名,例如:学生表.姓名;表的关闭
USE 命令,后不接任何语句;4.2.2 表结构的操作 ;表结构的修改
MODIFY STRUCTURE;4.2.3 表记录的操作;有关记录的测试函数
① 记录个数测试函数RECCOUNT( )
② 表头测试函数 BOF( )
③ 表尾测试函数 EOF( )
④ 记录号测试函数 RECNO( )
⑤ 查找是否成功测试函数 FOUND( )
指针定位命令
① 绝对定位 GO | GOTO n | TOP | BOTTOM
② 相对定位 SKIP [n]
③ 条件定位 ;【例4.2】观察记录指针的变化
USE 学生表
? RECNO(),BOF() 输出1和.F.
GO BOTTOM
? RECCOUNT(), RECNO(), EOF() 输出37, 37和.F.
SKIP
? RECNO(),EOF() 输出38和.T.
GO TOP
SKIP 10
? RECNO(),EOF() 输出11和.F.
GO 5
? RECNO(),BOF() 输出5和.F.
SKIP -8
? RECNO(),BOF() 输出1和.T.
USE;【例4.3】统计男生的人数
USE 学生表
n=0
DO WHILE NOT EOF()
IF 性别 = 男
n = n + 1
ENDIF
SKIP
ENDDO
USE
?n;表记录的显示 :
LIST|DISPLAY [[FIELDS]表达式表][范围] [FOR条件][WHILE条件]
FIELDS 〈表达式表〉指定要显示的表达式
若选定FOR子句,则显示满足所给条件的所有记录。若选定WHILE子句,显示直到条件不成立时为止,这时后面即使还有满足条件的记录也不再显示。
〈范围〉、FOR子句和WHILE子句用于决定对哪些记录进行操作。;(1) 范围子句
① RECORD〈n 〉:只对第n条记录进行操作。
② NEXT〈n 〉:只对包括当前记录在内的连续n条记录进行操作。
③ ALL:对表的全部记录进行操作。
④ REST:从当前记录开始(包含当前记录)到表尾的所有记录。
其中n(n≠0)为数值量。若有小数则自动舍去小数部分。;【例4.4】
USE 学生表
LIST NEXT 10
? RECNO(),EOF() 输出10和.F.
GO TOP
DISP
? RECNO(),BOF() 输出1和.F.
DISPLAY RECORD 6
? RECNO(),BOF() 输出6和.T.
LIST
? RECNO(),EOF() 输出38和.T.
USE;(2) FIELDS子句
FIELDS 〈字段名表〉
FIELDS 〈表达式表〉
【例4.5】
在命令窗口输入以下命令:
USE 学生表
LIST RECORD 5 学号, 姓名, 性别, YEAR(DATE()) – YEAR(出生日期) ;(3)条件子句
FOR 〈条件〉:选择范围内符合条件的所有记录进行操作。
WHILE 〈条件〉:选择范围内符合条件的记录进行操作,直到遇到第一个不符合条件的记录为止。 ;【例4.6】
USE 学生表
LIST FOR 性别 = 男 AND 民族 = 汉
显示汉族男生的记录
LIST FOR “广东” $ 籍贯 OR “江苏” $ 籍贯
显示广东或江苏籍学生
GO TOP
LIST FOR 性别 = 女 显示所有女生
GO TOP
LIST WHILE 性别 = 女“
因第三个为男生,故仅显示表最前面的两个女生
GO TOP
LIST WHILE 性别 = 男“
没有记录显示,因第一个就是男生
USE;记录的浏览、修改
记录浏览窗口,BROWSE
批量记录修改
REPLACE 〈字段1〉 WITH 〈表达式1〉 [ADDITIVE] [,〈字段2〉 WITH 〈表达式2〉[ADDITIVE]] [,…] [〈范围〉] [FOR
显示全部