Visual Foxpro命令汇总
.内存变量的赋值
内存变量名>=<表达式>
STORE<表达式>TO<内存变量表>
① 给变量XH赋值为字符串:20010001
XH=”20010001”
② 给变量X1,X2赋值为逻辑假值
STORE .F. TO X1,X2
③给变量XM赋日期型数据:2012年1月1日
XM={^2012/01/01}
④给X,Y,Z赋值为表达式:32+2^3
STORE 32+2^3 TO X,Y,Z
.显示内存变量
?<变量名表>
LIST|DISPLAY MEMORY [LIKE变量通配符]
① 显示所有的内存变量
DISPLAY MEMORY
② 显示所有用户自定义的内存变量
DISPLAY MEMORY LIKE *
③ 显示所有以X开头的内存变量
DISPLAY MEMORY LIKE X*
④显示所有名字中第2个字母为X的内存变量
DISPLAY MEMORY LIKE ?X*
3.删除内存变量
CLEAR MEMORY
RELEASE<内存变量表>
①删除内存变量A1,A2,A3
RELEASE A1,A2,A3
.创建表文件 CREATE<表文件名>
①在F盘中创建表文件XSDA.DBF
CREATE F:\XSDA
.复制表的数据 COPY TO<表文件>[FIELDS字段列表][FOR条件]
①复制当前表中的全体男同学的学号、姓名、性别字段,创建新表文件为XSDA3.DBF
COPY TO XSDA3 FILEDS 学号,姓名,性别 FOR 性别=”男”
.复制表结构 COPY STRUCTURE TO<表文件>[FIELDS 字段列表]
①复制当前表中学号、姓名、住校否字段的结构,创建新表文件XS2.DBF
COPY STRUCTURE TO XS2 FIELDS 学号,姓名,住校否
.创建数据库命令CREATE DATABASE<数据库名>
①在D盘中创建数据库文件XSGL
CREATE DATABASE D:\XSGL
.打开数据库命令OPEN DATABASE<数据库名>
①打开D盘中的数据库文件XSGL
OPEN DATABASED:\XSGL
.关闭当前数据库命令CLOSE DATABASE
①关闭D盘中的数据库文件XSGL
CLOSE DATABASED:\XSGL
.关闭所有文件CLOSE ALL
11.设置/取消当前数据库SET DATABASE TO [数据库名]
设置D盘中的数据库文件XSGL为当前数据库
SET DATABASE TO D:\XSGL
※说明:不选择可选项则是取消当前数据库
12.选择当前工作区SELECT<工作区号/别名>
※说明:VF提供 32767 个工作区。
①选择第2号工作区
SELECT 2
②选择没有使用的最小的工作区
SELECT 0
13.打开表文件USE<表文件名>[IN 工作区号] [ALIAS 别名]
①在第3号工作区中打开XSDA.DBF表文件,别名为:XS
USE XSDA IN 3 ALIAS XS
14.关闭表文件USE [IN工作区号/别名]
①关闭第4号工作区的表文件
USE IN 4
15.显示表结构DISPLAY/LIST STRUCTURE
①显示当前表文件结构
DISPLAY STRUCTURE
16.修改表结构MODIFY STRUCTURE
①显示当前表文件结构
MODIFY STRUCTURE
17.浏览表数据BROWSE [FIELDS字段列表] [FOR 条件] [FREEZE 字段名]
[LOCK锁定字段数] [NOAPPEND] [NODELETE] [NOEDIT]
①浏览当前表中女同学的姓名、出生日期字段,并冻结姓名字段,锁定一个字段,同时不允许做追加,删除和编辑
BROWSE FIELDS 姓名,出生日期 FOR 性别=”女” FREEZE 姓名;
LOCK 1 NOAPPEND NODELETE NOEDIT
18.移动记录指针 GO<记录号>GO BOTTOM GO TOP
SKIP [记录数] 记录数为正,指针向下移动;记录数为负,指针向上移动
① 把记录指针移到当前表的首记录
GO TOP
② 把记录指针移到当前表的末记录
GO BOTTOM
③把记录指针移到当前表的6号记录
GO 6
④一当前记录为基准,把记录指针向下移动3条记录
SKIP 3
⑤一当前记录为基准,把记录指针向下移动2条记录
SKIP --2
19.显示表数据LIST/DISPLAY[FIELDS字段列表] [FOR条件][OFF][范围]
①显示当前表中所有平均分高于70分的学生的姓名、总分字段,且不显示记录号
LIST FIELDS 姓名,总分 FOR 平均分>70 OFF ALL
20.成批替换数据REPLACE<字段名1>WITH<表达式1>[,<字段名2>WITH
<表达式2>……][范围][FOR 条件]
①把当前表中所有职称为教授的记录的岗位津贴涨100元
REPLACE 岗位津贴 WITH 岗位津贴+100 FOR 职称=”教授” ALL
21.追加记录APPEND [BLANK]
①给当前表追加一条空白记录
APPEND BLANK
22.从表文件追加记录APPEND FROM<表文件名>[FIELDS 字段列表] [FOR条件]
①将XSCJ01表中总分大于等于500分的记录的学号,总分追加到XSCJ02表中
USE XSCJ02
APPEND FROM XSCJ01 FIELDS 学号,总分 FOR 总分>=500
23.逻辑删除记录DELETE [范围] [FOR条件]
※说明:在VF中删除记录有 和 两种。
①逻辑删除当前表中所有非团员的记录
DELE FOR 团员=.F. ALL
24.恢复被逻辑删除的记录 RECALL [范围] [FOR条件]
①取消当前表中3到8号记录中非团员记录的删除标记
GO 3
RECALL 团员=.F. NEXT 6
25.物理删除记录PACK
①彻底删除当前的6号记录
DELE RECORD 6
PACK
26.物理删除表中所有记录ZAP
①删除XSDA表的所有记录
USE XSDA
ZAP
27.创建索引文件
INDEXON<关键字>TAG<索引名>[OF复合索引文件名][DESCENDING]
①给当前表以学号为关键字降序建立名为FF的索引并存放在名为WW的复合索引文件
INDEX ON 学号 TAG FF OF WW
28.打开索引文件 SET INDEX TO [索引文件列表]
①打开当前表的AA,AB两个复合索引文件
SET INDEX TO AA,AB
※说明:若缺省[索引文件列表],则表示关闭除结构索引文件外的其他打开的索引文件。
29.取消/指定当前索引 SET ORDER TO [索引名][OF 索引文件名]
①指定当前表WW复合索引文件中的FF索引为当前索引
SET ORDER TO FF OF WW
30.重新索引REINDEX
①给XSDA表的所有索引重新索引
USE XSDA
REINDEX
31.检索数据LOCATE FOR<条件>
继续查找命令CONTINUE
①在当前表中检索出前两个女同学的记录
LOCATE FOR 性别=”女”
CONTINUE
32.求和命令SUM [表达式列表][FOR条件] [范围]
①对当前表的所有住校同学的数学,语文求和
SUM 数学,语文 FOR 住校=.T.
33.求平均命令 AVERAGE[表达式列表][FOR条件] [范围]
①对当前表的所有男同学的英语求平均分
AVERAGE 英语 FOR性别=”男” ALL
34.建立一对一关系SET RELATION TO [关键字INTO 别名]
35.建立一对多关系SET SKIP TO<别名>
※说明:①建立关系之前,主表与子表同时打开,且子表一定要先按关键字建立索引。②建立一对多关系之前必须先建立一对一关系
③使用命令与“数据工作期”窗口建立关系,当表关闭时会自动取消称为临时关系,而在数据库设计器中建立的关系称为永久关系
①以XSDA为主表,按学号字段与XSJS建立一对多的关系,浏览其中的学号,姓名,书名,借书日期字段的数据(XSJS中有以学号为关键字的名为XH的索引)
USE XSJS ALIAS JS
SET ORDER TO XH
USE XSDA IN 0
SET RELATION TO 学号 INTO JS
SET SKIP TO JS
BROWSE FIELDS 学号,姓名,JS.书名,JS.借书日期