VFP命令、函数及程序语句大全(1)
VFP命令是一种实现对数据库系统进行操作的动词或短语。VFP命令可在VFP命令窗口中单独运行,也可编制成程序成批运行,由命令和函数编制的程序可对数据库系统进行自动、复杂的操作,使数据库系统应用起来更加友好、方便。
?
VFP常用命令分类表
类别 命令 CREATE,MODIFY,COPY,SAVE等 USE,CLOSE,COPY,MODIFY STRUCTURE等 BROWSE,EDIT,CHANG,REPLACE,UPDATE等 GOTO,LOCATE,SEEK,FIND,SKIP等 APPEND,DELETE,INSERT等 BROWSE,LIST,DISPLAY等 SUM,COUNT,AVERAGE,TOTAL等 ACCEPT,INPUT,READ,SAVE等 DO,DO WHILE?ENDDO,IF?ENDIF等 SET TALK,SET DEFAULT TO等 文件 建立类 数据库 操作类 数据 编辑类 记录指针 操作类 记录 操作类 数据 显示类 资料 统计类 存变数 操作类 程控类 系统设置类
?
命令格式
VFP命令一般由 命令动词 和 控制短语 构成。
一般格式:XXX命令动词 [FROM <源文件>] [TO<目标文件>] [记录范围] [FOR/WHILE<条件>] [FIELDS<字段名表>]
[ ]表示可选,<>表示必选, / 表示或选
例如:
(1)APPEND FROM C:\\RSDA.DBF FOR 基本工资>100 FIELDS 编号,姓名,职称,基本工资。
从C:\\RSDA.DBF 表中把基本工资大于100元的记录添加到当前表添加字段为:编号,姓名,职称,基本工资。
(2)COUNT FOR 职称=\高工\统计高工的记录数到内存变量GG。
控制短语 规定 了对 数据库操作 的 限制条件:
1.指向输入输出目标
FROM/TO
APPEND FROM,COPY FILE TO <目标文件>
2.限制记录范围(SCOPE)
ALL 所有记录
NEXT
RECORD<1> 第1个记录
REST 当前记录之后所有记录
3.选择字段
FIELDS<字段表>选择输入/输出的字段。
4.限制条件
FOR/WHILE<条件>
FOR 基本工资>100 .AND.基本工资<200
? 命令格式规则
- 命令的行为单位,一行书写不完,在未尾加上“;”第二行接着写。
- 必须以命令动词开头,动词后的短语顺序不限。
- 命令中大小写字母等效。
- 命令动词和关键词可以只写前4个字符。
- 不得用命令动词或关键词作为自定义变量、 函数、程序名。
一.表结构的操作 1.创建表结构
命令1:CREATE [路径][表名] 例子:在A盘创建GZ2数据表。 CREATE A:GZ2
命令2:CREATE [新表名] FROM [旧表名]
例子:在A盘由GZ1创建GZ3数据表。 CREATE A:GZ3 FROM A:GZ1
命令3:COPY STRUCTRUE TO [路径][表名]
例子:在D盘生成一个与正在使用的表结构相同的新表文件MY COPY STRUCTRUE TO D:\\MY 2.表结构的显示 命令:LIST STRUCTURE DISPLAY STRUCTURE 例子:显示当前数据表在结构。 LIST STRUCTURE 3.表结构的修改 命令:MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。 例子:修改当前数据表的结构。 MODIFY STRUCTURE
二.表文件的打开和关闭 1.打开
命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE] 例子:打开A盘GZ1数据表。 USE A:\\GZ1
例子:以独占方式打开当前表档XX USE XX EXCLUSIVE 2.关闭 命令:USE
例子:关闭当前打开的表。 USE
三.记录指针的定位 1. 绝对寻址
命令:GO[TO] n|TOP|BOTTOM
说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录 2.相对定位
命令:SKIP [+|-]n
说明:它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一条记录。
四.表数据的添加 1.记录的追加 命令:APPEND [BLANK]
例子:向当前数据表尾部追加记录。 APPEND
例子:向当前数据表尾部追加一条空记录。 APPEND BLANK 2.记录的插入
命令:INSERT [BLANK][BEFORE] 例子:在当前记录后插入一条空记录。 INSERT BLANK
例子:在第3条记录前插入一条记录。 GO 3
INSERT BEFORE
3.用复制方法建新表记录
命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]
例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。 COPY TO A:GZ2 FOR 应发合计>1000 4.从其他表取数据
命令:APPEND FROM 表名 [FOR 条件]
例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。 APPEND FROM GZ1 FOR 应发合计>1000
五.表记录的显示 1.浏览显示
命令:BROWSE [FIELDS 字段表][FOR 条件]
例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。 BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000 说明:此命令的结果以浏览窗口的形式出现,具有修改功能。 2.显示输出
命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO
FILE <檔>]
说明:(1)命令带OFF参数表示不显示记录号
(2)范围指定对哪些记录进行操作,(范围包括:RECORD n :第几号记录;NEXT n: 当前记录开始的几个记录;REST: 自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL)
(3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。
(4)WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。
(5)TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。 (6)DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在该命令中,如果省略范围仅显示当前记录。LIST不分屏,如果省略范围显示所有记录。
六.修改记录内容
1. 编辑或修改的特定记录
命令:CHANG|EDIT [范围][[FIELDS]字段表][FOR 条件] [WHILE <条件>] 例子:修改第五条记录 CHANGE|EDIT RECORD 5 2.成批自动替换记录
命令:REPLACE [范围] 字段 WITH 表达式 [FOR 条件] 例子:计算各记录“应发合计”字段的值。
REPLACE ALL 应发合计 WITH 职务工资+岗位津贴+保留奖金+保留津贴
七.删除记录 1.逻辑删除
命令:DELETE [范围][FOR 条件] (打删除标记) 2.物理删除
命令: PACK (删除有删除标记的记录) ZAP (删除所有记录) 例子:删除“职工编号”空白的记录。 DELETE ALL FOR 职工编号=\PACK
八.数据表排序
1.物理排序,生成一个新的表档。