FOX常用命令.docx

上传人:b****1 文档编号:1586911 上传时间:2023-05-01 格式:DOCX 页数:40 大小:32.22KB
下载 相关 举报
FOX常用命令.docx_第1页
第1页 / 共40页
FOX常用命令.docx_第2页
第2页 / 共40页
FOX常用命令.docx_第3页
第3页 / 共40页
FOX常用命令.docx_第4页
第4页 / 共40页
FOX常用命令.docx_第5页
第5页 / 共40页
FOX常用命令.docx_第6页
第6页 / 共40页
FOX常用命令.docx_第7页
第7页 / 共40页
FOX常用命令.docx_第8页
第8页 / 共40页
FOX常用命令.docx_第9页
第9页 / 共40页
FOX常用命令.docx_第10页
第10页 / 共40页
FOX常用命令.docx_第11页
第11页 / 共40页
FOX常用命令.docx_第12页
第12页 / 共40页
FOX常用命令.docx_第13页
第13页 / 共40页
FOX常用命令.docx_第14页
第14页 / 共40页
FOX常用命令.docx_第15页
第15页 / 共40页
FOX常用命令.docx_第16页
第16页 / 共40页
FOX常用命令.docx_第17页
第17页 / 共40页
FOX常用命令.docx_第18页
第18页 / 共40页
FOX常用命令.docx_第19页
第19页 / 共40页
FOX常用命令.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FOX常用命令.docx

《FOX常用命令.docx》由会员分享,可在线阅读,更多相关《FOX常用命令.docx(40页珍藏版)》请在冰点文库上搜索。

FOX常用命令.docx

FOX常用命令

FOX常用命令

说明 :

1、命令结构:

FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。

如:

LIST[范围][[FIELDS字段名列表][FOR条件][WHILE条件][OFF][TOPRINT]

2、常用子句 

(1)范围:

表示记录的执行范围,可以是下面几项其中之一:

ALL表示全部记录;

NEXTn表示从当前记录开始的以下n条记录;

RECORDn表示第n号记录;

REST表示从当前记录到最后一条记录。

(2)FIELDS字段名表:

用于指定操作的字段,多个字段时用逗号分隔。

(3)FOR条件:

对满足条件的记录进行操作。

(4)WHILE条件:

当遇到第一个不满足条件的记录时,停止命令执行。

 

3、以下命令中,大写的英文词为关键词,必须原样照写。

4、“常用子句”指以下几个可选子句:

[范围][FIELDS字段名表][FOR条件][WHILE条件]

5、命令中的“列表”,指用“,”分隔的各项。

如“字段名列表”就是将各个字段名用逗号分隔。

6、部分英文词的意义:

Databasename数据名tablename数据表名filename文件名 Viewname视图名arrayname数组名

7、如果Databasename、tablename、filename等不在当前工作路径下,在命令中还需加上它们各自的路径。

 一、数据库的建立、打开、关闭和删除   

1、建立数据库:

CREATEDATABASE[databasename|?

]

说明:

显示“打开”对话框

例如:

CREATEDATABASEd:

\example\people

2、从磁盘中删除数据库:

DELETE DATABASE databasename|?

说明:

只删除数据库,数据库中的表便成为自由表。

 

例如:

DELETEDATABASEd:

\example\people

3、打开数据库:

OPENDATABASE[EXCLUSIVE|SHARED][NOUPDATE]

说明:

EXCLUSIVE:

以独占方式打开数据库

SHARED:

以共享方式打开数据库

NOUPDATE:

以不可更新方式打开数据库

例如:

OPENDATABASEd:

\example\people

 

4、打开数据库设计器,让用户按交互方式编辑当前数据库):

MODIFYDATABASE [databasename|?

]

指定的数据库databasename为当前数据库。

 例如:

MODIFYDATABASEd:

\example\people

5、显示有关当前数据库的信息

DISPLAYDATABASE

例如:

OPENDATABASEd:

\example\people

CLEAR

DISPLAYTABLES&&显示数据库中的表

DISPLAYDATABASE

6、关闭数据库:

CLOSEDATABASE[ALL]

说明:

关闭当前数据库和其中的表,如果带ALL子句,则关闭所有打开的数据库。

若没有当前数据库,则关闭所有工作区内所有打开的自由表、索引和格式文件,并选择工作区1。

二、数据表和表结构的编辑、修改   

1、建立数据表结构

CREATETablename

CREATE?

说明:

命令执行后,在屏幕上出现一个表设计器来,用户可以设计表的结构,即字段名、字段类型,字段宽度等。

例如:

CREATEXSB1

2、打开一个表:

USEtablename|?

[IN工作区号]

说明:

能在指定的工作区打开表,但不改变当前工作区。

引用非当前工作区表的字段必须冠以别名

例如:

SELECT1

USEXSCJ&&在当前工作区打开XSCJ表

?

USED(‘XSCJ’)&&测试一个表是否正在使用

USEXSDAIN2&&指定XSDA表指定到2号工作区中打开

?

B->姓名&&显示2号工作区当前记录的姓名字段的值

?

XSDA.性别&&显示2号工作区XSDA表当前记录的性别字段的值

SELECT2

LIST

3、关闭表

USE关闭当前工作区的表

CLOSETABLESALL关闭数据库表和自由表,数据库仍处于打开状态

CLOSETABLES关闭自由表

CLOSEALL关闭所有已打开的数据库、表和索引,并选择工作区1

例如:

USEXSDA

LIST

USE

4、数据表结构的查看

DISPLAYSTRUCTURE[TOPRINT]|[TOfilename]

LISTSTRUCTURE[TOPRINT]|[TOfilename]

说明:

TOPRINT:

将DISPLAYSTRUCTURE的结果输出到打印机

TOfilename:

将DISPLAYSTRUCTURE的结果定向输出到filename指定的文件中。

例如:

USEXSDA

LISTSTRUCTURE

DISPLAYSTRUCTURETOd:

\example\xsdastr

USE

5、数据表结构的修改(P87)

MODIFYSTRUCTURE

说明:

打开表设计器,用户对表结构进行交互式的修改、删除、插入、增加字段等操作。

例如:

USEXSDA&&在修改一个表之前先使用该表

MODIFYSTRUCTURE

6、打开记录浏览窗口(可在其中编辑数据表):

BROWSE(详细格式见P.82)

例如:

USEXSDA

BROWSE

7、打开并修改数据表中的字段:

(1)CHANGE[范围][FIELDS字段名列表][FOR条件1][WHILE条件2]

(2)EDIT[范围][FIELDS字段名列表][FOR条件1][WHILE条件2]

说明:

打开表记录浏览窗体,将光标定位到指定范围的记录上,用户对记录进行交互式的修改。

默认修改范围是当前记录及其后的记录。

例如:

USEXSDA

EDITallFOR入学总分>550FIELDS学号,姓名,出生日期,入学总分

USE

USEGZ

GO3

CHANGERESTFIELDS姓名,技能工资,岗位工资,补贴,扣款FOR‘100’$工号

USE

8、数据库表改名:

RENAMETABLEtablename1TOtablename2

说明:

只对数据库表起作用,对自由表不起作用。

数据表tablename1必须存在且未打开。

例如:

RENAMETABLExscjTOcj

9、选择工作区

SELECT<工作区号>|<别名>

说明:

在VFP中一个工作区只能打开一个表,前10个工作区的别名为A到J。

刚刚进入系统时,系统默认1号工作区为当前工作区。

其中的<别名>可以是工作区的别名,也可以是工作区打开表的别名,如没有给表定义别名,则可以用数据表名作为别名。

例如:

SELECT()&&返回当前工作区号

SELECT1&&第一种形式,以区号选择工作区

USEXSDAALIAAA

LIST

SELECTC&&第二种形式,以区号别名选择工作区

USEXSCJ

LISTSTRUCTURE

SELECT0&&第三种形式,选定当前尚未使用的最小号工作区为当前工作区。

SELECT()&&返回值为2

USEGZ

SELECTAA&&第四种形式,以工作区打开表的别名选择工作区

LIST

SELECTXSCJ&&第五种形式,以工作区打开的表名选择工作区

LISTSTRUCTURE

10、将当前表与另一表之间建立关联:

SETRELATIONTO[表达式1INTO工作区号1|表别名1];[,表达式2INTO工作区号2|表别名2][,…]

说明:

(1)以当前表为父表与其它一个或者多个子表建立关联.

(2)<表达式1>在父表和子表之间建立关系的表达式;为父表的字段表达式,子表按其关键字建立索引,<别名>表示子表或其所在的工作区。

(3)ADDITIVE保证在建立关联时不取消以前的关联。

注意:

两个表建立关联必需确定两个问题:

(1)关键字:

类型,宽度应相同,字段名可以不同的字段。

(2)父表:

•需要修改数据的表为父表

•按某个字段查询时,该字段所在的表为父表

•在多对一关系时,关键字表达式有重复记录的表为父表

例如:

SELECT1

USEXSDA

INDEXON学号TOXSDAIN&&子表必须以关键字段建立索引

SELECT2

USEXSCJ

SETRELATIONTO学号INTOB&&在主表的工作区建立关联

11、在当前表与另一表之间建立一对多关联:

SETSKIPTO表别名1[,表别名2]

功能:

用该命令说明关联性质为一对多关系。

即在父表的每条记录与子表中所有对应记录之间建立“一对多”的关联。

例如:

以练习册P43页(13)题为例。

*PROG201.PRG

CLEAR

SELE1

USE学费&&选一为子表。

INDEXON姓名TOZDIN

SELE2

USE住宿费 &&选多为主表,此时要浏览子表中的每条记录,必须用SETSKIPTO语句

SETRELATIONTO姓名INTO1

SETSKIPTO1&&对比使用这条语句与不使用这条语句的区别

SCANALL

?

姓名,A.学习班名称

ENDSCAN

CLOSETABLES

12、消除当前表与另一表之间的关联:

SETRELATIONOFFINTO工作区号|表别名

SETRELATIONTO

13、将当前数据表与另一数据表连接后建立一个新表:

(物理连接)

JOINWITH工作区号|表别名TOtablenameFOR条件[FIELDS字段名表]

说明:

连接当前工作区中打开的表和<工作区>/<别名>指定的表,生成<表文件名>规定的新的表文件。

例如:

*PROG202.PRG

SELECT2

USEXSCJALIASCJ

INDEXON学号TOXHSY

SELECT1

USEXSDA

JOINWITHCJTOXSBFOR性别='女'FIELDS学号,姓名,CJ.课程号,CJ.考试成绩

USEXSB

LIST

CLOSETABLES

三、数据表中数据操作(显示、查询、插入、删除和修改等)   

1、显示数据表

LIST[范围][FIELDS字段名表][FOR条件1][WHERE条件2][OFF][TOPRINT]|[TO文件名]

DISPLAY[范围][FIELDS字段名表][FOR条件1][WHERE条件2][OFF][TOPRINT]|[TO文件名]

说明:

(1)显示输出当前数据表中的记录数据。

(2)OFF:

选择此项时,不显示记录号.

(3)[TOPRINT]|[TO文件名]:

将显示结果输出到打印机或指定文件中

区别:

(1)LIST---连续滚屏显示全部记录,DISPLAY----分屏显示当前记录

(2)不加FOR条件时,LIST显示完记录后,记录指针停在文件末尾,EOF()函数的返回值为.T.,DISPLAY只显示当前记录,记录指针不移动

(3)若加FOR条件,运行LIST和DISPLAY命令后,记录指针都在文件末尾.

例如:

USEXSDA&&刚刚打开表时,记录指针停在第一条

DISPLAY&&显示第一条记录

LIST&&显示所有记录

DISPLAYALL&&范围子句的使用

GO2

DISPLAYNEXT2

DISPLAYREST

DISPLAYRECORED3&&显示第3条记录

DISPLAYRESTFOR性别=’男’&&条件子句的使用

DISPLAYFORRECNO()=5&&显示第5条记录

2、更改数据表中的记录:

REPLACE[范围]字段1 WITH 表达式1[ADDITIVE];[,< [,<字段2>WITH<表达式2>[ADDITIVE],…]; [FOR条件1][WHILE条件2]

说明:

(1)在满足条件的记录中,对有规律变化的字段数据进行快速,准确,成批地替换修改.其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字段的末尾。

(2)该命令不进入全屏幕编辑状态,系统也不显示反馈信息

(3)缺省[范围],[FOR/WHILE条件]子句时,只对当前记录进行修改.

(4)对应字段和表达式的数据类型必须一致.

例如:

USEXSDA

REPLACEALL入学总分WITH入学总分+10

USEGZ

LIST

REPLACE技能工资WITH技能工资*1.2,岗位工资WITH岗位工资*1.3;

FOR补贴<165

 DISPLAYALL

USEXSDA

GO3

REPLACE民族WITH‘白’,性别WITH‘女’&&修改第三条记录

3、用内存数组的值更新数据表中的记录:

REPLACEFROMARRAY数组名[FIELDS字段名列表]

例如:

*PROG301.PRG

DIMENA(10)

SELE1

USEGZ

SCATTERTOA

COPYSTRUTOGZ2

SELE2

USEGZ2

INSERTBLANK

REPLACEFROMARRAYA

LIST

CLOSETABLES

4、用一个表中的数据更新当前指定工作区中打开的表:

UPDATEONfieldnameFROMfilenameREPLACEfieldname1WITHexpr1[,fieldname2WITHexpr2[,...]]

说明:

从指定的文件中的当前记录来更新当前表的当前记录,并对指定字段的值进行修改。

例如:

SELE1

USEGZ

COPYSTRUTOGZ2

SELE2

USEGZ2

UPDATEON工号FROMGZREPLACEGZ2.工号WITH'1011'

5、给记录加删除标记:

DELETE[范围][FOR条件][WHILE条件][IN工作区号|表别名]

说明:

(1)对当前数据表在范围内满足条件的记录加上删除标记’*’.

(2)缺省[范围],[FOR/WHILE条件]子句时,只对当前记录进行删除.

例如:

DELETEFOR入学总分>550

DELERECORD3

GO2

DELE

DELERESTFOR性别=’男’

DELEFORRECNO()=5

 

6、永久删除加了删除标记的记录:

PACK

 

7、去掉删除标记(恢复)

 RECALL[常用子句]

例如:

RECALLFOR入学总分>550

8、删除一个表中所有记录(保留表的结构):

ZAP [INtablename|alias]

 

9、为数据表文件追加记录:

APPEND[BLANK][IN工作区号|别名]

例如:

USEXSDA

APPEND&&在数据表的末尾追加一条记录,并在弹出记录窗体,进行交互式输入

APPENDBLANK&&在数据表的末尾追加一条记录,不弹出记录窗体.

10、从另一个文件中提取数据添加到当前数据表的尾部:

APPENDFROMfilename|?

[FIELDS字段名列表][FOR条件]

说明:

其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。

例如:

USEXSXX

APPENDFROMXSDAFOR“2000”$学号

USEXSXX1

APPENDFROMXSDAFIELDS学号,姓名,性别,出生年月,民族,籍贯

 

11、用内存数组的值添加到当前数据表的尾部:

APPENDFROMARRAYarrayname[FOR条件][FIELDS字段名列表]

数据中的一行对应一个新记录,一列对应一个字段。

 

12、插入新记录(在当前记录之前或后插入):

 INSERT[BLANK][BEFORE]

说明:

如不省略BLANK,则插入一个空白记录,且不显示输入窗口。

Insert---------在当前记录后插入,弹出记录窗体,进行交互式输入.

Insertbefore-----在当前记录前插入,弹出记录窗体

Insertblank------在当前记录后插入空白记录,不弹出记录窗体

 

13、清除当前记录中字段的数据:

BLANK[常用子句]

 

14、采用命令“Go”命令可以移动指针------绝对移动

GO[TO][[RECORD]<数值表达式>]|TOP|BOTTOM

例如:

USEXSDA

GOTO1&&文件的物理首记录

GO2

GORECORD2

GOTOP&&文件的逻辑首记录

GOBOTTOM&&文件的逻辑尾记录

GOTORECCOUNT()/2&&对RECCOUNT()/2取整

15、采用命令“SKIP”命令可以移动指针------相对移动

SKIP[n][IN工作区号|表别名]

例如:

SELE1

USEXSDA

GO4

SELE2

USEXSCJ

SKIP2

DISPLAY&&显示XSCJ表第2条记录

SKIP-1INA&&将XSDA表的记录指针向上移动一条

SELE1

DISPLAY&&显示XSDA表的第3条记录

16、设置过滤器

SETFILTERTO[<逻辑表达式>]

说明:

过滤记录,设置了过滤器后,对该表的操作只对通过过滤器的当前记录起作用。

例如:

USEXSDA

SETFILTERTO性别=“男”

LIST

SETFILTERTO入学总分>550

DELETALL&&删除通过过滤器的所有记录

SETFILTERTO

LIST

17、关闭过滤器:

SETFILTERTO

四、文件管理(文件和文件夹的复制、创建和删除)   

1、从当前表复制出表或其它类型的文件(表须打开)

COPY TO filename[FIELDS字段名列表][常用子句][其它子句]

说明:

如果没有指定类型,则复制一个与当前的表相同的数据表。

 例如:

USEXSDA

COPYXSBFOR籍贯=’重庆’FIELDS学号,姓名,籍贯,入学总分

USEXSB

LIST

2、复制表的结构

COPYSTRUCTURETOfilename[FIELDS字段名列表]

例如:

USEXSDA

COPYSTRUTOSTUDENTFIEL学号,姓名,籍贯,入学总分

USESTUDENT

LISTSTRU

3、复制任何文件:

COPYFILE源文件TO目的文件

如果用此命令复制表,表须关闭

说明:

(1)文件名必须是全称;

(2)源文件必须没有打开;

(3)在复制带有备注文件及索引文件的表文件时,必须再复制备注文件或索引文件后,才可使用。

例如:

(1)copyfiled:

\example.txttoe:

\exa.txt

(2)COPYFILEXSDA.DBFTOXSB.DBF&&复制文件内容

COPYFILEXSDA.FPTTOXSB.FPT&&复制备注文件

COPYFILEXSDA.IDXTOXSB.IDX&&复制索引文件

USEXSB&&使用XSB文件

 

4、从磁盘上删除任意文件:

(1)ERASEfilename|?

(2)DELETEFILE[filename|?

]

 例如:

DELETEFILEd:

\example\xsb.*

5、任意文件改名(或文件移动到另一文件夹):

RENAMEfilename1TOfilename2

说明:

其中filename1和filename2都可以包含路径。

如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。

例如:

RENAMEd:

\example\xsb.dbfTOd:

\examplexsqkb.dbf

6、显示一个文件夹中的文件信息:

DIR|DIRECTORY [ONdrive]

例如:

DIR*.DBF

DIR*.PRG

DIRXSDA

DIR*.*

DIRd:

\*.*

 

7、在磁盘上建立一个文件夹:

MD|MKDIR文件夹名

例如:

MDD:

\Example\aa

8、从磁盘上删除一个文件夹

RD|REDIR文件夹名

例如:

RDD:

\EXAMPLE\AA

五、数据的复制与传送   

1、单个记录与数组间的数据传送, 当前记录→数组或内存变量:

SCATTER[FIELDS字段名列表]TO数组名

说明:

例如:

USEXSDA

DIMEA(10),B(5)

SCATTERTOA

GO3

SCATTERFIELDS学号,姓名,入学总分,出生年月TOB

2、 单个记录与数组间的数据传送,数组或内存变量→当前记录

 GATHERFROM 数组名|[FILEDS字段名列表]

说明:

用数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。

要保证传送的数组元素和相应字段的数据类型是一致的。

若传送的类型不匹配,将显示错误信息

例如:

USEXSDA

DIMEA(10),B(5)

SCATTERTOA

A

(1)=’1999221024’

GOBOTTOM

APPENDBLANK

GATHERFROMA

3、成批记录与数组间的数据传送

(1) 表→数组:

 COPYTOARRAYarrayname[常用子句]

说明:

将当前选定表中的数据复制到数组,而且默认的处理范围是所有记录。

(1)如果是一维数组,则将第一条记录按字段依次存入数组中。

(2)如果表中有逻辑字段,则逻辑字段将不被复制。

(3)如果数组的元素比表中字段少,则忽略多余字段。

(4)如果数组的元素比表中字段多,则将不改变多余元素的值。

(5)FOR、WHILE、范围子句的含义和其他命令相同

(6)如果是二维数组,则将N条记录按字段依次存入二维数组的N行中。

例如:

DIMEA(10),B(3,11)

USEXSDA

GO2

COPYTOARRAYA&&将第1条记录复制给数组A,记录指针也移到第一条记录

COPYNEXT2TOARRAYB

(2)数组→表:

APPENDFROMARRAYarrayname

说明:

用内存数

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2