foxpro命令完整说明
- 格式:doc
- 大小:35.00 KB
- 文档页数:5
Visual FoxPro常用命令总结1、打开表命令: USE 表文件名2、关闭表命令:USE 、CLOSE ALL3、记录指针定位命令:GO 数值表达式(绝对移动)、SKIP(相对移动)4、替换(修改)记录命令:REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2…… [范围][FOR<条件>]5、复制表命令: COPY TO 新文件名 [FOR〈条件〉][范围]6、复制表结构命令:COPY STRU TO 新表文件名 [FIEL 〈字段名表〉]7、查询命令:(1)条件查询:LOCATE FOR 〈条件〉继续查找命令:CONTINUE8、选择工作区命令: SELE 工作区号|别名9、建立表之间的关联命令:SET RELATION TO 关联表达式 INTO 别名10、表的更新命令:UPDATE ON 关键字段 FROM 别名 REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2 …… [RANDOM]11、交互式输入命令:(1)INPUT [提示信息] TO 内存变量(2)ACCEPT [提示信息] TO 内存变量13、输出命令:?和??14、设置默认路径命令: SET DEFA TO 盘符:\路径15、关闭表命令:CLOSE TABLE,CLEAR ALL16、记录显示命令:LIST/DISP [范围][FOR 〈条件〉]17、追加记录命令:(1)表尾追加:APPEND [BLANK](2)表中插入:INSERT [BEFORE] [BLANK](3)从其他文件中追加多条记录到当前表:APPEND FROM 文件名 [FOR〈条件〉][FIEL <字段名表>]18、删除记录命令:DELE [范围][FOR<条件>]19、彻底删除带标记记录命令:PACK20、取消删除标记命令:RECALL [范围][FOR<条件>]21、物理删除表中所有记录命令:ZAP22、复制任何类型文件:COPY FILE 〈文件名1〉TO 〈文件名2〉23、将单个记录发送到数组:SCATTER TO 〈数组名〉[FIEL〈字段名表〉]24、将数组中的值发送到当前记录命令:GATHER FROM 数组名25、将表中多条记录传送到数组命令:COPY TO ARRAY 数组名26、将二维数组中的值传送到表中: APPEND FROM ARRAY 数组名27、表的排序命令: SORT ON 〈字段1〉/A|/D,字段2/A|/D to 新表文件名28、建立索引命令: INDEX ON 关键字段 TO 单索引文件名INDEX ON 关键字段 TAG 索引标识名打开索引文件命令: SET INDEX TO 索引文件名表29、设置主控索引命令:SET ORDER TO 单索引文件名 |TAG 索引标识30、更新索引文件命令:REINDEX索引查询: FIND 字符表达式SEEK 表达式继续查找命令: SKIP31、关闭索引文件:SET INDEX TO 、CLOSE INDEX、CLOSE ALL、CLEAR ALL、USE 32、删除索引标识命令:DELE TAG 索引标识名删除单索引文件命令:DELE FILE 单索引文件名33、表的浏览命令:BROWSE34、记录的过滤命令:SET FILTER TO 条件35、字段的过滤命令:SET FIELDSS TO 字段名表36、表之间的连接命令:JOIN WITH 别名 TO 新表文件名 FOR 条件37、设置一对多关系命令:SET SKIP TO 别名38、数据库相关命令:打开:OPEN DATA 数据库名新建:CREAT DATA 数据库名修改:MODI DATE 数据库名关闭:CLOSE DATA、CLOSE DATA ALL、CLOSE ALL、CLEAR ALL设置当前数据库命令:SET DATA TO 数据库名39、程序相关命令:建立/修改程序:MODI COMMAND 程序文件名运行程序:DO 程序文件名40、内存变量/数组赋值命令:=、STORE41、交互式输入命令:@行,列 SAY 表达式 GET 变量42、文本输出命令:TEXT〈输出显示内容〉ENDTEXT43、终止程序执行命令:CANCEL、QUIT、RETURN44、清除主屏幕命令:CLEAR45、系统设置命令:(1)设置精确比较命令:SET EXACT ON/OFF(2)设置删除标记命令:SET DELE ON/OFF。
FOXPRO中常用命令与函数考纲所列在FOXPRO程序中经常使用的命令(乐老师整理)1. CLOSE ALL功能:关闭所有文件,选择1号工作区为当前工作区。
2. <内存变量名>=<表达式>功能:将表达式的值赋给指定的内存变量。
若该内存变量不存在,则自动创建。
3. SELECT O功能:选择当前未使用的最低编号的工作区为当前工作区。
SELECT <数据表名>功能:当指定的数据表已在某工作区打开后,指定该数据表所在的工作区为当前工作区。
4. USE <数据表名>功能:在当前工作区中打开指定的数据表,将记录指针指向首记录;若该数据表有对应的结构复合索引文件,则自动打开它。
5. COPY STRU TO <新数据表文件名> [FIELDS <字段名表>]功能:把当前表的结构复制到新表,记录不复制;<字段名表>指定了新表的字段,其中可含其它工作区中表的字段;若不写FIELDS <字段名表>,则把当前表的全部字段复制到新表。
例1 根据D2.DBF产生D3.DBF,结构与D2相同,但无记录,在三个不同的工作区中打开D1、D2和D3三个表文件.CLOSE ALL &&关闭所有文件,选择1号工作区为当前工作区USE D2 &&打开数据表D2COPY STRU TO D3 &&将表D2的结构复制到表D3SELE O &&选择一个未使用的工作区为当前工作区USE D1SELE OUSE D36. INDEX ON <关健表达式> TAG <索引标识符> [DESCENDING]功能:对当前表按<关健表达式>建立结构复合索引。
结构复合索引文件的主名与表名相同,扩展名默认为CDX,使用时自动随相应的数据表同时打开。
一个结构复合索引文件中可包含多个索引标识符。
FoxPro命令的一般格式命令格式FoxPro命令一般由命令名及通过字句所指定的操作对象、操作范围、操作条件等若干选择项所构成,其一般格式如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE〈条件〉][TO FILE<文件名>|TO PRINTE R|TO ARRAY<数组表>|TO <内存变量>][ALL [LIKE|EXCEPT<通配符>]][IN<别名>]其中命令名:是一个表示完成何种操作的英文动词;表达式表:是一个或多个由逗号隔开的表达式,用来表示该命令的操作对象;范围:表示该命令对数据库文件记录的操作范围,有以下四种选择:RECORD N 对第N条记录进行操作NEXT N 对从当前记录开始的N条记录进行操作ALL 对所有记录进行操作REST 对从当前记录开始到文件结束的所有记录进行操作FOR<条件>:对所有满足"条件"的记录进行操作;WHILE<条件>:对直到不满足条件的记录为止的所有已满足条件的记录进行操作TO子句用来控制操作结果的输出,可以输出到文件、打印机、数值、内存变量;ALL[LIKE|EXCEPT<通配符>]:用来指明包括或不包括与通配符相匹配的内存变量或字段变量;通配符指“?”号和“*”号。
“?”号可以与任何一个字符相匹配,而“*”号则可以与任何一串字符相匹配IN<别名>:该子句容许在当前工作区下操作其他工作区中的数据库文件。
命令的书写规则上述命令的一般格式中:< >尖括号中的内容表示命令中用户的定义项;[ ]方括号中的内容表示可选项。
视要求而定;| 分隔符隔开的项表示多项选一;注意:书写命令时上述符号不应包含在命令中FOXPRO中命令的书写必须遵循以下规则:1、每条命令必须以命令名开子句的顺序可任意;2、命令名可缩写为前四个字符;3、命令的各部分之间至少要用一个空格分开;4、为清楚起见,关键字一律用大写,用户定义名用小写;5、命令行可分行书写,行末用“;”作为当前行的续行符。
Foxpro数据库命令汇总Foxpro数据库命令汇总说明:1.格式说明:[ ] 方括号中的项目是任选项,根据不同情况,有时可省略。
…删节号跟在那个项目后面,表示该项目可继续重复多次2.使用说明:(1)命令动词后面的短语(如范围、条件、字段名表等)可按任意顺序排列,但短语之间至少由一个空格分割(2)命令短语中可任意使用大小写字母,命令中使用的字符(如逗号,引号,空格等)只能使用英文半角的字符。
(3)每行最多书写一条命令(4)每条命令可以只使用前面的四个字母。
(5)命令中有用的范围的,[范围]有通用的以下四种情况。
⑴All:全部记录;⑵Next n:指从当前记录开始向下的n个记录;⑶Record n:第n条记录;⑷Rest:从当前记录开始到最后一条记录为止;一、第二节:1、Clear:清除工作区的内容(菜单:Windows→Clear)2、Quit:退出Foxpro系统(菜单:File→Exit)====================================== ==================二、第二节3、Creat:建立数据库(菜单:File→New菜单下选择Table/DBF)格式:Creat 库文件名说明:文件名的扩展名(.dbf)可省略,默认文件名为Untitled.dbf4、Use:打开/关闭数据库。
格式:Use 库文件名:打开数据库(菜单:File→Open)Use:关闭数据库。
5、Append :追加记录(菜单:Record→Appe nd)命令格式:Append [blank]功能:在数据库尾部添加记录说明:[blank]的作用是在库尾部添加一空白记录,不进入全屏幕编辑窗口,如果不加blank,添加记录时会出现一个新的编辑窗口,让我们输入记录的数据。
========================================================三、第四节:6、查看和修改数据库的结构。
一、数据库的建立、打开、关闭和删除建立数据库:CREA TE DA TABASE [databasename|?]从磁盘中删除数据库:DELETE DA TABASE databasename|?打开数据库:OPEN DA TABASE [EXCLUSIVE|SHARED][NOUPDA TE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DA TABASE [databasename|?]指定的数据库databasename为当前数据库。
指定当前的数据库:SET DA TABASE TO [databasename]Databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
关闭数据库:CLOSE DA TABASE [ALL]关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。
二、数据表和视图的建立、打开、关闭和删除建立数据表(SQL命令):CREA TE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL][{,Col_name2 Type2 [NOT NULL/NULL]}...])table_name是所创建的数据表的名字。
Col_name1,Col_name2,...是表中列的名。
Type1, Type2...是相应列的数据类型(VFP的数据类型见表3-9)。
如果说明为NOT NULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。
向当前打开的数据库中添加数据表:ADD TABLE tablename|?从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
VFP命令、函数及程序语句大全(一)学过VFP〔Microsoft Visual FoxPro〕的朋友都知道它是微软公司开发的数据库管理系统。
它经历了从dBASE、FoxBASE、FoxPro直到VFP的开展过程。
本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好时机。
一主要命令:1、CREATE 作用:建立一个新的表。
格式:CREATE [<文件>|?]〔注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
〕说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE作用:显示表文件构造,并允许修改此表的构造。
格式:MODIFY STRUCTURE说明:只有在用USE命令翻开表文件以后,才能显示或修改表文件的构造。
3、APPEND作用:在当前表的尾部〔无论表中有无记录〕追加记录〔在当前表指当前正使用的表〕。
格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE作用:主要用于翻开浏览窗口,查阅表文件并同时进展修改。
格式:BROWSE6、USE作用:翻开和关闭表文件。
•求整函数–int (<数值表达式>) 功能:返回整数部分–Ceiling (<数值表达式>) 功能:返回大于或等于它的最小数–floor (<数值表达式>)功能:返回小于或大于它的最大数•四舍五入函数–round (<数值表达式1>,<数值表达式2>)•求字符串函数–len (<字符表达式>) 功能:返回指定字符表达式值的长度•大小写转换函数–lower (<字符表达式>) 功能:字母转成小写,字符不变–Upper (<字符表达式>)功能:字母转成大写,字符不变•空格字符串生成函数–space(<数值表达式>)功能:返回由指定数目的空格组成的字符串。
•删除前后空格函数–rtrim (<字符表达式>)功能:去掉尾部空格后形成的字符串–Ltrim (<字符表达式>)功能:去掉前导空格后形成的字符串–alltrim (<字符表达式>)功能:去掉前导和尾部空格形成的字符串•求子串函数–left (<字符表达式>,<长度>) 功能:取左边–Right (<字符表达式>,<长度>)功能:取右边–substr (<字符表达式>,<起始位置>,<长度>) 功能:从起始开始取起,作为函数值•日期和时间函数–date () 功能:返回系统当前日期,函数值:日期型–Time () 功能:以hh:mm:ss格式返回当前时间,为字符型–Datetime () 功能:返回当前日期时间,函数值:日期型•求年份、月份、天数函数(返回值:数值型)–year (<日期表达式>|<日期时间表达式>):从指定日期当中返回年份–Month (<日期表达式>|<日期时间表达式>):从指定日期当中返回月份–Day (<日期表达式>|<日期时间表达式>):从指定日期当中返回天数•时、分、秒函数(函数值:数值型)–hour (<日期时间表达式>) 功能:返回小时部分–Minute (<日期时间表达式>)功能:返回分钟部分–Sec (<日期时间表达式>)功能:返回秒数部分•数值转换成字符串–str (<数值表达式>[,<长度>[,<小数位数>]]):将<数值表达式>的值转成字符串,转换时根据需要自动四舍五入。
VFP常用命令,函数,属性,事件和方法一.常用命令1.CREATE TABLE-SQL创建一个含有指定字段的表。
2.ALTER TABLE-SQL以编程方式修改表的结构。
3.SELECT激活指定工作区。
4.USE打开一个表及其相关索引文件,或打开一个SQL视图。
5.CLOSE TABLES关闭所有打开数据库中的所有表。
6.COPY STRUCTURE用当前选择的表结构创建一个新的空自由表。
7.COPY TO用当前选定表的内容创建新文件。
8.RENAME TABLE重命名当前数据库中的表。
9.BROWSE打开浏览窗口。
10.A PPEND在表的末尾添加一个或多个新记录。
11.A PPEND FROM从一个文件中读入记录,添加到当前表的尾部。
12.G O/GOTO将记录指针移到指定记录上。
13.L OCATE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14.S EEK在一个表中搜索首次出现的一个记录。
15.S KIP使记录指针在表中向前或向后移动。
16.C ONTINUE继续执行先前的LOCA TE命令。
17.E DIT显示要编辑的字段。
18.D ELETE给要删除的记录做标记。
19.D ELETE-SQL给要删除的记录做标记。
20.P ACK从当前表中永久删除有删除标记的记录。
21.R ECALL恢复所选表中带删除标记的记录。
22.Z AP从表中删除所有记录。
23.I NSERT-SQL在表尾追加一个包含指定字段值的记录。
24.R EPLACE更新表的记录内容。
25.U PDATE-SQL以新值更新表中的记录。
26.S ET EXCLUSIVE指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。
27.S ET FILTER指定访问当前表中记录时必须满足的条件。
28.S ET DELETED指定Visual FoxPro 是否处理标有删除标记的记录。
29.S ET INDEX打开一个或多个索引文件,供当前表使用。
foxpro命令
FoxPro是一种数据库管理系统和开发工具,使用类似于SQL的命令来操作数据库。
以下是一些常用的FoxPro命令:
- USE:用于打开数据库表。
- SELECT:用于查询数据库表中的记录。
- INSERT:用于向数据库表中插入记录。
- UPDATE:用于更新数据库表中的记录。
- DELETE:用于删除数据库表中的记录。
- CREATE TABLE:用于创建新的数据库表。
- MODIFY STRUCTURE:用于修改数据库表的结构。
- APPEND FROM:用于从一个文件中向数据库表中追加记录。
- INDEX ON:用于创建索引。
- BROWSE:用于浏览数据库表中的记录。
- LIST:用于列出数据库表中的字段和属性。
- REPLACE:用于替换数据库表中的字段值。
1
- LOCATE:用于在数据库表中定位记录。
这只是一些常用的FoxPro命令,实际上还有更多的命令和功能可以使用。
可以在FoxPro的帮助文档中查找更详细的命令和用法。
2。
一、数据库的建立、打开、关闭和删除 (1)二、数据表和视图的建立、打开、关闭和删除 (2)三、数据表和表结构的编辑、修改 (2)四、数据表中数据操作(查询、插入、删除和修改等) (3)五、文件管理(文件和文件夹的复制、创建和删除) (5)六、数据的复制与传送 (5)七、排序与索引 (6)命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。
如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录;NEXT n 表示从当前记录开始的以下n条记录;RECORD n 表示第n号记录;REST 表示从当前记录到最后一条记录。
FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。
FOR条件:对满足条件的记录进行操作。
WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。
以下命令中,大写的英文词为关键词,必须原样照写。
“常用子句”指以下几个可选子句:[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]命令中的“列表”,指用“,”分隔的各项。
如“字段名列表”就是将各个字段名用逗号分隔。
部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名提示:加下划线的为本课程要求掌握的命令。
一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:DELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
VFP常用命令及用法、实例命令中用到的范围:ALL: 命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾.NEXT <expN> 命令作用于从当前记录开始到当前记录后<expN>条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。
NEXT 1表示仅作用于当前记录。
Record 〈expN〉命令作用于记录号为〈expN〉的记录.TEST 命令作用范围从当前记录开始到表的最后一个记录为止命令中的FOR子句只作用于满足条件的记录。
一、基本命令1。
打开和关闭数据表USE [<数据表名>] 当省略选项时为关闭当前数据表CLOSE ALL 关闭所有数据表2。
选择当前工作区SELECT 〈工作区号|数据表名|0〉功能:选择当前工作区。
可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。
SELECT 0 是选择当前未使用的最低编号的工作区3. 增加记录APPEND BLANK 在当前表的尾部追加一个空白记录INSERT BLANK 在当前表的当前记录之后插入一条空白记录INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录注意:在表建立索引后,INSERT的功能与APPEND相同4. 替换字段的值REPLACE [范围] <字段1> WITH <表达式1〉[,〈字段2> WITH 〈表达式2〉, ..。
<字段n〉 WITH <表达式n>] [FOR 〈expL>]功能:计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。
5. 删除记录DELETE [范围][FOR 条件]功能:对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作.RECALL [范围] [FOR 条件]功能:对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。
表的设计与操作1、表结构的设计:字段名、字段类型、字段宽度、小数位、NULL值NULL值:它不同于零、空字符串或者空白,而是一个不存在的值。
2、表的创建:表结构的创建:CREATE [<表文件名>]文件→新建→表→新建文件表数据的输入:BROWSE (显示→追加方式)APPEND [BLANK]INSERT [BEFORE][BLANK]1、打开与关闭:USE[<表文件名>]2、表文件的显示LIST/DISPPLAY STRUCTURE 显示表结构LIST/DISPPLAY [OFF] [<范围>] [[FIELDS]<字段名列表>][while<条件>][FOR<条件>] 显示记录3、记录指针的定位:绝对移动:Go/GoTo [RECORD] <数值表达式>/TOP/BOTTOM相对移动:SKIP [<数值表达式>]3.3 表的维护:(1)修改表结构:MODIFY STRUCTURE(2)浏览修改:BROWSE [FIELDS<字段名表>][LOCK<数值表达式>][FREEZE<字段名>][NOMENU][NOAPPEND][NOMODIFY][WIDTH<数值表达式>][FOR<逻辑表达式>][PARTITION<数值表达式>][LEDIT][REDIT][NOLINK](3)编辑修改:CHANGE/EDIT [<范围>][FIELDS<字段表>][WHILE<逻辑表达式>][FOR<逻辑表达式>] (4)批量修改:REPLACE [<范围>]<字段1>WITH<表达式1>[ADDITIVE][,<字段2>WITH<表达式2>[ADDITIVE]…][FOR<条件>][WHILE<条件>](5)修改通用型字段:MODIFY GENERAL <通用型字段名表>[NOMODIFY][NOWAIT][IN SCREEN](6)删除:DELETE [<范围>][WHILE<条件>][FOR<条件>](7)恢复删除标记:RECALL[<范围>][WHILE<条件>][FOR<条件>](8)物理删除:PACK(9)删除表中所有记录:ZAP1、文件目录显示命令:DIR [<盘符>][<路径>][<文件名描述>]DISPLAY FILE [<盘符>][<路径>][<文件名描述>]LIST FILE [<盘符>][<路径>][<文件名描述>]2、显示文件内容的命令:TYPE <文件名> 显示ACS码文本文件3、文件的复制:(1)任意类型文件的复制COPY FILE <源文件名>TO<目标文件名>(2)表文件的复制:COPY TO <新表文件名>[<范围>][FIELDS <字段名表>][WHILE<条件>][FOR<条件>](3)表结构的复制:COPY STRUCTURE TO <表文件名>[FIELDS <字段名表>]4、文件的更名:RENAME <源文件名> TO <新文件名>5、文件的删除:ERASE <文件名>/?DELETE FILE [<文件名>/?]6、从其它表中向当前表文件成批添加记录:APPEND FROM <表文件名>[FIELDS <字段名表>][WHILE<条件>][FOR<条件>]3.4 表的排序、索引与查询1、表的排序:SORT TO <表文件名> ON <字段名1>[/A][/D][/C][,<字段名2>[/A][/D][/C]…][ASCENDING/DESCENDING][<范围>][WHILE<条件>][FOR<条件>][FIELDS <字段名表>]2、表的索引:建立IDX 索引文件:INDEX ON <关键字表达式> TO <独立索引文件名>[FOR <条件>][UNIQ][COMPACT][ADDITIVE]建立CDX 索引文件:INDEX ON <关键字表达式> TAG <标记名> [OF <复合索引文件名>][UNIQUE/CANDIDA TE] [ASCENDING/DESCENDING][ADDITIVE] [FOR<条件>]1、索引文件的打开与关闭:(1)打开表文件的同时打开索引文件USE <表文件名>/?[INDEX <索引文件名表>/?][ORDER [<算术表达式>/<IDX索引文件名>/[TAG]<标记名>[OF <复合索引文件名>][ ASCENDING/DESCENDING]]]例如:USE D:\AAA\OJS INDEX OJS_JH, OJS_KM, OJS_NY OEDER TAG KM OF OJS_KM(2)打开索引文件SET INDEX TO <索引文件名>例如:USE D:\AAA\OJSSET INDEX TO OJS_JH, OJS_KMSET INDEX TO OJS_NY OEDER TAG NY OF OJS_ NY ADDITIVE(3)在打开的索引文件中设置主控索引SET ORDER TO [<算术表达式>/<IDX索引文件名>/[TAG]]<索引标记名>[OF <复合索引文件名>][ ASCENDING/DESCENDING]]例如:USE D:\AAA\OJSSET INDEX TO OJS_JH , OJH_KM , OJS_NYSET ORDER TO 2 OF OJS_KM(4)关闭索引文件CLOSE ALLCLOSE INDEXES(5)重新索引REINDEX(6)删除复合索引文件中的标记DELETE TAG <标记名> [OF <复合索引文件名1>][,<标记名2>[OF <复合索引文件名2>]]…DELETE ALL [OF <复合索引文件名>]二、表的查询1、FIND <字符串或数值> 只能查字符型和数值型,使用该命令前,必须按<关键字>进行索引2、SEEK <表达式>[ORDER [<索引号>/IDX <索引文件名>]/[TAG]<标识名>[OF <CDX 文件名>]][ ASCENDING/DESCENDING]] 可以处理任何类型的关键字表达式,使用该命令前,必须按<关键字>进行索引3、LOCATE [<范围>] FOR <条件> [WHILE <条件>]CONTINUE 查找下一条记录2、表的统计与汇总计数命令:COUNT [<范围>] FOR <条件> [WHILE <条件>] [TO <内存变量名>]求和命令:SUM [<字段表达式表>][<范围>][TO<内存变量名表>/TO ARRAY <数组名>] FOR <条件> [WHILE <条件>]求平均命令:A VERAGE [<字段表达式表>][<范围>][TO<内存变量名表>/TO ARRAY <数组名>] FOR <条件> [WHILE <条件>]汇总命令:TOTAL TO <新表文件名> ON <关键字>[FIELDS <字段名表>] [<范围>] [FOR <条件>] [WHILE <条件>] 使用该命令前,必须按<关键字>进行排序或索引5、多表使用工作区的选择:select <工作区号/别名>例如:SELECT AUSE D:\VFP\学生表ALIAS XSBSELECT ASELECT 1SELECT XSB表之间的关联:SET RELATION TO [<关键字表达式1>/<数值表达式1> INTO <工作区号>/<别名>[,<关键字表达式2>/<数值表达式2> INTO <工作区号>/<别名>…][ADDITIVE] ]SET RELATION TO 删除当前工作区中所有关系SET RELATION OFF INTO <工作区号>/<别名> 切断当前数据表与特定数据表之间的关联例如:SELECT 2USE D:\VFP\学生表INDEX ON 学号TO学生表_学号SELECT 1USE D:\VFP\成绩表SET RELATION TO 学号INTO BLIST 学号,B.姓名,B.性别,B.班级,成绩表之间的联接:JOIN WITH <工作区号>/<别名> TO <新表文件名> [FIELDS <字段名表>] FOR <联接条件>例如:SELECT AUSE D:\VFP\学生表SELECT BUSE D:\VFP\成绩表JOIN WITH A FOR 学号=A.学号TO 学生成绩FIELDS 学号,A.姓名,A.班级,课程号,成绩USE学生成绩BROW表文件的更新Update on <关键字段名> from <工作区号>/<别名> replace <字段名1> with <表达式1> [,<字段名2> with <表达式2> …][random]。
foxpro命令完整说明一、内存变量常用命令一赋值STORE <表达式>TO <变量名表><内存变量名>=<表达式>二显示LIST|DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER[PROMPT]|TO FILE<文本文件名>]三清除CLEAR MEMORYRELEASE <变量名表>RELEASE ALL [LIKE<通配符>|EXCEPT<通配符>]四保存SAVE TO <内存变量文件名>[ALL LIKE|EXCEPT<通配符>]五恢复RESTORE FROM <内存变量文件名> [ADDITIVE]二、表结构操作命令一创建表CREATE <表名>二修改结构MODIFY STRUCTURE三显示结构LIST|DISPLAY STRUCTURE [TO PRINTER[PROMPT]|TO FILE<文本文件名>]四复制结构COPY STRUCTURE TO <表名> [FIELDS<字段名表>]*生成表结构文件COPY STRUCTURE TO <表结构文件名> EXTENDED*表结构文件还原成表结构CREATE <表名> FROM <表结构文件名>三、表记录操作命令一表打开关闭USE <表名>CLOSE DATABASES二显示LIST|DISPLAY [OFF] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>][TO PRINTER[PROMPT]|TO FILE<文本文件名>] 三追加APPEND [BLANK]APPEND FROM <表名>四插入INSERT [BLANK] [BEFORE]五修改替换EDIT CHANGE BROWSEREPLEASE [范围] <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…] [FOR<条件>] [WHILE<条件>]六逻辑删除与恢复DELETE [范围] [FOR<条件>] [WHILE<条件>]RECALL [范围] [FOR<条件>] [WHILE<条件>]七物理删除PACK ZAP八表文件复制COPY TO <表名> [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]九指针定位绝对移动GO [TOP] [BOTTOM] [N]相对移动SKIP四、排序与索引命令一排序SORT TO <表名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C]…] [ASCENDING|DESCENDING] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>] 二建立索引单索引INDEX ON <索引表达式> TO <单索引文件名> [FOR<条件>] [UNIQUE] [ADDITIVE] [COMPACT]复合索引INDEX ON <索引表达式> TAG <标记名> [OF<复合索引文件名>][FOR<条件>] [ASCENDING|DESCENDING] [UNIQUE] [ADDITIVE]三设置主控索引SET ORDER TO [<数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING] 四打开索引文件SET INDEX TO [<索引文件名表>] [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING] [ADDITIVE]USE <表名> INDEX<索引文件名表> [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]五索引文件更新REINDEX*删除索引DELETE TAG <标记名>|ALL [OF<复合索引文件名>]五、数据查询与筛选命令一直接查询LOCATE [范围] [FOR<条件>] [WHILE<条件>]继续查找CONTINUE二索引查询FIND <字符常量>|<数值常量>SEEK <表达式>继续查找SKIP三筛选SET FILTER TO [<表达式>]六、统计命令一记录个数COUNT [TO <变量名>] [范围] [FOR<条件>] [WHILE<条件>] 二求和SUM [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>三求平均值AVERAGE [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>四分类汇总TOTAL ON <关键字> TO <表名> [FIELDS <数值字段名表>] [范围] [FOR<条件>] [WHILE<条件>]七、多工作区操作命令一打开表USE <表名> [ALIAS<别名>] [IN<工作区号|工作区别名|表别名>] [AGAIN]二工作区选择SELECT<工作区号>|<别名>|0三建立关联SET RELATION TO <关联表达式1> INTO <别名> [,<关联表达式2> INTO <别名>…][ADDITIVE]四解除关联SET RELATION TOSET RELATION OFF INTO <别名>五一对多关联SET SKIP TO [<别名1>[,<别名2>…]]六连接命令JOIN WITH <别名> TO <表名> FOR<条件> FIELDS<字段名表> 七更新UPDATE ON <字段名> FROM <别名> REPLACE <字段名1> WITH <表达式1>[,<字段名1> WITH <表达式1>…][RANDOM]八、程序设计内容一建立程序MODIFY COMMAND <程序文件名>二执行程序DO <程序文件名> [WITH <参数表>]三注释语句NOTE * &&四输入输出非定位输入WAIT ACCEPT INPUT非定位输出? ??定位输入输出@行,列SAY GET (用GET时需要用READ) 五程序控制语句IF语句DO CASE语句DO WHILE语句FOR语句SCAN语句九、过程及过程调用——子程序一定义: PROCEDURE <过程名>语句序列RETURN二位置:在程序文件的末尾,或若干个过程组成一个文件,过程文件(常用方法) 三过程的调用DO 过程名[IN 文件名]四打开关闭过程文件打开SET PROCEDURE TO <过程文件名>关闭SET PROCEDURE TOCLOSE PROCEDURE五调用过程的查找顺序调用过程的程序文件SET PROCEDURE 命令打开的过程文件名为过程名的程序文件六返回RETURNRETURN TO MASTERRETURN TO 过程名七过程的参数传递PARAMETERS <参数表>它是过程中的第一句特点:加()按值传送(不改变主调用程序中的值)不加()按地址传送(改变主调用程序中的值)十、自定义函数——子程序的另一种形式一定义FUNCTION <函数名>语句序列RETURN <表达式>二调用格式自定义函数名(参数表)三参数传递SET UDFPARMS TO VALUE|REFERENCE*加括号按值FUN2((X),(Y))十一、内存变量作用域根据内存变量的作用范围分为全局变量,局部变量。
FOXPRO常用命令CREATE <新表文件名>功能:打开“表设计器”对话框,创建一个新的表文件结构USE <表文件名>[NOUPDATE] [EXCLUSIVE┃SHARED]功能:打开指定的表文件。
NOUPDATE 只读打开EXCLUSIVE 独占打开SHARED 共享打开USE 关闭当前工作区已打开的表文件CLOSE ALL 关闭所有工作区所有文件,不释放内存变量CLOSE<文件类型> 关闭指定的文件类型CLEAR ALL 关闭所有工作区所有文件,释放内存变量APPEND 在当前表末尾追加新记录APPEND BLANK 在当前表末尾追加一条空白记录APPEND FROM <文件名> [FIELDS <字段名>] [FOR┃WHILE<条件>]功能:将另外一个表中的记录添加到当前表中APPEND FROM ARRAY<数组名> [FIELDS<字段名>][FOR<条件>]功能:将满足条件的数组行数据按记录顺序依次追加到当前表中,忽略备注字段BROWSE [FIELDS<字段名>] [FOR<条件>]功能:打开浏览窗口,显示、浏览和修改记录数据DISPLAY ┃LIST [FIELDS<表达式表>] [<范围>] [FOR<条件>][WHILE<条件>][OFF] [TO PRINT] [TO FILE<文件>]功能:在指定范围内将表中符合条件的记录显示出来或发送到指定的设备GO ┃GOTO<数值表达式> ┃TOP┃BOTTOM功能:将表文件的记录指针定位到指定的记录处SKIP [数值表达式]功能:将记录从当前位置开始向前或向后移动若干个记录LOCATE [范围] FOR<条件> [WHILE<条件>]功能:顺序查找符合指定条件的第一条记录(CONTINUE,继续查找下一条)MODIFY STRUCTURE功能:修改当前表文件的结构REPLACE [<范围>] <字段名1> WITH <表达式1>[ADDITIVE][,<字段名2>WITH <表达式2>[ADDITIVE] ...] [FOR<条件>] [WHILE<条件>]功能:在当前表的指定记录中直接将字段值用指定的表达式的值来替换范围与条件都省略,只对当前记录的值替换ADDITIVE用于备注型字段,表示添加到原有内容后面,否则为替换DELETE [<范围>] [FOR<条件>][WHILE<条件>]功能:给数据表中指定范围内满足条件的记录加删除标记范围与条件都省略,只对当前记录进行操作SET DELETE ON/OFF功能:ON表示有逻辑删除标记的记录不参与操作,OFF参与操作RECALL [<范围>] [FOR<条件>][WHILE<条件>]功能:恢复数据表中指定范围内满足条件的已标删除标记的记录PACK将带删除标记的记录永久删除(以独占打开)ZAP一次删除表中所有记录,只保留表结构SCATTER [FIELDS<字段名>] [MEMO] TO <数组名> [BLANK]┃MEMV AR [BLANK]功能:将当前记录的字段值按<字段名表>所列顺序依次送入数组元素中,或依次送入一组内存变量中若不选FIELDS子句,将传送所有字段值(备注除外,如要传送,要加MEMO);用MEMV AR时,要加上M.或M-> DIMENSION STUD(4) 定义数组GATHER FROM <数组名>│MEMV AR [FIELDS<字段名>][MEMO]功能:将数组或内存变量的数据依次传送到当前记录,替换相应字段值。
FoxPro命令的一般格式命令格式FoxPro命令一般由命令名及通过字句所指定的操作对象、操作范围、操作条件等若干选择项所构成,其一般格式如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE〈条件〉][TO FILE<文件名>|TO PRINTER|TO ARRAY <数组表>|TO <内存变量>][ALL [LIKE|EXCEPT<通配符>]][IN<别名>]其中命令名:是一个表示完成何种操作的英文动词;表达式表:是一个或多个由逗号隔开的表达式,用来表示该命令的操作对象;范围:表示该命令对数据库文件记录的操作范围,有以下四种选择:RECORD N 对第N条记录进行操作NEXT N 对从当前记录开始的N条记录进行操作ALL 对所有记录进行操作REST 对从当前记录开始到文件结束的所有记录进行操作FOR<条件>:对所有满足"条件"的记录进行操作;WHILE<条件>:对直到不满足条件的记录为止的所有已满足条件的记录进行操作TO子句用来控制操作结果的输出,可以输出到文件、打印机、数值、内存变量;ALL[LIKE|EXCEPT<通配符>]:用来指明包括或不包括与通配符相匹配的内存变量或字段变量;通配符指“?”号和“*”号。
“?”号可以与任何一个字符相匹配,而“*”号则可以与任何一串字符相匹配IN<别名>:该子句容许在当前工作区下操作其他工作区中的数据库文件。
命令的书写规则上述命令的一般格式中:< >尖括号中的内容表示命令中用户的定义项;[ ]方括号中的内容表示可选项。
视要求而定;| 分隔符隔开的项表示多项选一;注意:书写命令时上述符号不应包含在命令中FOXPRO中命令的书写必须遵循以下规则:1、每条命令必须以命令名开子句的顺序可任意;2、命令名可缩写为前四个字符;3、命令的各部分之间至少要用一个空格分开;4、为清楚起见,关键字一律用大写,用户定义名用小写;5、命令行可分行书写,行末用“ ;”作为当前行的续行符。
一、内存变量常用命令一赋值STORE <表达式>TO <变量名表><内存变量名>=<表达式>二显示??LIST|DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER[PROMPT]|TO FILE<文本文件名>]三清除CLEAR MEMORYRELEASE <变量名表>RELEASE ALL [LIKE<通配符>|EXCEPT<通配符>]四保存SAVE TO <内存变量文件名>[ALL LIKE|EXCEPT<通配符>]五恢复RESTORE FROM <内存变量文件名> [ADDITIVE]二、表结构操作命令一创建表CREATE <表名>二修改结构MODIFY STRUCTURE三显示结构LIST|DISPLAY STRUCTURE [TO PRINTER[PROMPT]|TO FILE<文本文件名>]四复制结构COPY STRUCTURE TO <表名> [FIELDS<字段名表>]*生成表结构文件COPY STRUCTURE TO <表结构文件名> EXTENDED*表结构文件还原成表结构CREATE <表名> FROM <表结构文件名>三、表记录操作命令一表打开关闭USE <表名>CLOSE DATABASES二显示LIST|DISPLAY [OFF] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>][TO PRINTER[PROMPT]|TO FILE<文本文件名>]三追加APPEND [BLANK]APPEND FROM <表名>四插入INSERT [BLANK] [BEFORE]五修改替换EDIT CHANGE BROWSEREPLEASE [范围] <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…] [FOR<条件>] [WHILE<条件>]六逻辑删除与恢复DELETE [范围] [FOR<条件>] [WHILE<条件>]RECALL [范围] [FOR<条件>] [WHILE<条件>]七物理删除PACK ZAP八表文件复制COPY TO <表名> [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]九指针定位绝对移动GO [TOP] [BOTTOM] [N]相对移动SKIP四、排序与索引命令一排序SORT TO <表名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C]…] [ASCENDING|DESCENDING] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>] 二建立索引单索引INDEX ON <索引表达式> TO <单索引文件名> [FOR<条件>] [UNIQUE] [ADDITIVE] [COMPACT]复合索引INDEX ON <索引表达式> TAG <标记名> [OF<复合索引文件名>][FOR<条件>] [ASCENDING|DESCENDING] [UNIQUE] [ADDITIVE]三设置主控索引SET ORDER TO [<数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]四打开索引文件SET INDEX TO [<索引文件名表>] [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING] [ADDITIVE]USE <表名> INDEX<索引文件名表> [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]五索引文件更新REINDEX*删除索引DELETE TAG <标记名>|ALL [OF<复合索引文件名>]五、数据查询与筛选命令一直接查询LOCATE [范围] [FOR<条件>] [WHILE<条件>]继续查找CONTINUE二索引查询FIND <字符常量>|<数值常量>SEEK <表达式>继续查找SKIP三筛选SET FILTER TO [<表达式>]六、统计命令一记录个数COUNT [TO <变量名>] [范围] [FOR<条件>] [WHILE<条件>]二求和SUM [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>三求平均值AVERAGE [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>四分类汇总TOTAL ON <关键字> TO <表名> [FIELDS <数值字段名表>] [范围] [FOR<条件>] [WHILE<条件>]七、多工作区操作命令一打开表USE <表名> [ALIAS<别名>] [IN<工作区号|工作区别名|表别名>] [AGAIN]二工作区选择SELECT<工作区号>|<别名>|0三建立关联SET RELATION TO <关联表达式1> INTO <别名> [,<关联表达式2> INTO <别名>…][ADDITIVE]四解除关联SET RELATION TOSET RELATION OFF INTO <别名>五一对多关联SET SKIP TO [<别名1>[,<别名2>…]]六连接命令JOIN WITH <别名> TO <表名> FOR<条件> FIELDS<字段名表>七更新UPDATE ON <字段名> FROM <别名> REPLACE <字段名1> WITH <表达式1>[,<字段名1> WITH <表达式1>…][RANDOM]八、程序设计内容一建立程序MODIFY COMMAND <程序文件名>二执行程序DO <程序文件名> [WITH <参数表>]三注释语句NOTE * &&四输入输出非定位输入WAIT ACCEPT INPUT非定位输出? ??定位输入输出@行,列SAY GET (用GET时需要用READ) 五程序控制语句IF语句DO CASE语句DO WHILE语句FOR语句SCAN语句九、过程及过程调用——子程序一定义: PROCEDURE <过程名>语句序列RETURN二位置:在程序文件的末尾,或若干个过程组成一个文件,过程文件(常用方法) 三过程的调用DO 过程名[IN 文件名]四打开关闭过程文件打开SET PROCEDURE TO <过程文件名>关闭SET PROCEDURE TOCLOSE PROCEDURE五调用过程的查找顺序调用过程的程序文件SET PROCEDURE 命令打开的过程文件名为过程名的程序文件六返回RETURNRETURN TO MASTERRETURN TO 过程名七过程的参数传递PARAMETERS <参数表>它是过程中的第一句特点:加()按值传送(不改变主调用程序中的值)不加()按地址传送(改变主调用程序中的值)十、自定义函数——子程序的另一种形式一定义FUNCTION <函数名>语句序列RETURN <表达式>二调用格式自定义函数名(参数表)三参数传递SET UDFPARMS TO VALUE|REFERENCE*加括号按值FUN2((X),(Y))十一、内存变量作用域根据内存变量的作用范围分为全局变量,局部变量。
一局部变量——在程序中定义(定义位置)在被建立的程序,以及被该程序调用的程序、过程或自定义函数中有效(有效范围)PRIVATE <变量表>如果重名,主(上)程序中的变量被隐藏二全局变量——在程序或命令窗口定义(定义位置)自从定义后在所有程序、过程和自定义函数中有效(有效范围)PUBLIC <变量表>初始值为.F.三注意:已声明全局变量后,可重声明为局部变量,但不允许声明为局部变量后,在子程序中重声明为全局变量十二、数组一定义:DIMENTION 数组名(行,列)DECLARE 数组名(行,列)DIME X(5)DIME X(3,3)二赋值:名[下标]=值X[2]=3X="ABC"三数组下标对二维数组来说A[1,1]=A[1],A[1,2]=A[2]即可用一维的方法访问但一维数组不可以用二维方法访问四数组与数据库的数据交换数据库向数组传送数据SCATTER [FIELDS] TO 数组名[MEMO] 要想有备注字段,必须加MEMO数据库向内存变量传送数据SCATTER MEMVER 要想使用与字段名相同的内存变量,须加M, M.XM从数组向数据库传送数据GATHER FROM 数组名[MEMO]从内存变量向数据库传送数据GATHER MEMVAR注意:从数据库向数组传送时,FIELD后的字段名顺序对应数组元素顺序,传回时数组元素顺序对应FIELD后的字段名顺序。