完整版VFP中常用命令.docx

上传人:b****1 文档编号:13820389 上传时间:2023-06-17 格式:DOCX 页数:20 大小:22.70KB
下载 相关 举报
完整版VFP中常用命令.docx_第1页
第1页 / 共20页
完整版VFP中常用命令.docx_第2页
第2页 / 共20页
完整版VFP中常用命令.docx_第3页
第3页 / 共20页
完整版VFP中常用命令.docx_第4页
第4页 / 共20页
完整版VFP中常用命令.docx_第5页
第5页 / 共20页
完整版VFP中常用命令.docx_第6页
第6页 / 共20页
完整版VFP中常用命令.docx_第7页
第7页 / 共20页
完整版VFP中常用命令.docx_第8页
第8页 / 共20页
完整版VFP中常用命令.docx_第9页
第9页 / 共20页
完整版VFP中常用命令.docx_第10页
第10页 / 共20页
完整版VFP中常用命令.docx_第11页
第11页 / 共20页
完整版VFP中常用命令.docx_第12页
第12页 / 共20页
完整版VFP中常用命令.docx_第13页
第13页 / 共20页
完整版VFP中常用命令.docx_第14页
第14页 / 共20页
完整版VFP中常用命令.docx_第15页
第15页 / 共20页
完整版VFP中常用命令.docx_第16页
第16页 / 共20页
完整版VFP中常用命令.docx_第17页
第17页 / 共20页
完整版VFP中常用命令.docx_第18页
第18页 / 共20页
完整版VFP中常用命令.docx_第19页
第19页 / 共20页
完整版VFP中常用命令.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整版VFP中常用命令.docx

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

完整版VFP中常用命令.docx

完整版VFP中常用命令

VFP中常用命令

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

建立数据库:

CREATEDATABASE[databasename|?

]

从磁盘中删除数据库:

CREATEDATABASE[databasename|?

]

ELETEDATABASEdatabasename

DELETEDATABASEdatabasename|?

打开数据库:

OPENDATABASE[EXCLUSIVE|SHARED][NOUPDATE]

打开数据库设计器(允许用户按交互方式编辑当前数据库):

MODIFYDATABASE[databasename|?

]

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

指定当前的数据库:

SETDATABASETO[databasename]

Databasename必须为已经打开的数据库。

如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。

关闭数据库:

CLOSEDATABASE[ALL]

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

二、数据表和视图的建立、打开、关闭和删除

建立数据表(SQL命令):

CREATETABLE|DBFtablename(Col_name1Type1[NOTNULL/NULL]

[{,Col_name2Type2[NOTNULL/NULL]}...])

table_name是所创建的数据表的名字。

Col_name1,Col_name2,...是表中列的名。

Type1,Type2...是相应列的数据类型(VFP的数据类型见表3-9)。

如果说明为NOTNULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。

向当前打开的数据库中添加数据表:

ADDTABLEtablename|?

从当前打开的数据库中删除数据表:

REMOVETABLEtablename|?

[DELETE]

如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。

在当前打开的数据库中建立视图:

CREATESQLVIEWviewnameASSELECT……

其中SELECT……为SELECT语句。

执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。

从当前打开的数据库中删除视图:

DELETEVIEWviewname

打开一个表:

USEtablename|?

[IN工作区号]

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

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

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

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

BROWSW(详细格式见P.114~116)

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

(1)CHANGE[FIELDS字段名列表]

(2)EDIT[FIELDS字段名列表]

这两个命令的功能相似,可选子句较多(详见手册)。

数据表改名:

RENAMETABLEtablename1TOtablename2

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

视图改名:

RENAMEVIEWviewname1TOviewname2

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

修改数据表结构(SQL命令):

ALTERTABLEtablename;

ADD字段名Type[NULL|NOTNULL]

[,字段名Type[NULL|NOTNULL];

[ALTERCOLUMN字段名Type{NULL|NOTNULL}];

[{,字段名TypeNULL|NOTNULL}...];

[DROP字段名[,字段名[,...]]

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

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

[,表达式2INTO工作区号2|表别名2][,...]

建立关联的两个表必须事先已按关联表达式进行索引排序。

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

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

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

SETRELATIONOFFINTO工作区号|表别名

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

数据查询SELECT语句(SQL命令)

格式见教材的有关章节。

这是本课程的重点内容,必须很好地掌握。

更改数据表中的记录:

REPLACE字段1WITH表达式1[ADDITIVE];

[,<[,<字段2>WITH<表达式2>[ADDITIVE],…];

[FOR条件1][WHILE条件2]

其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字段的末尾。

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

REPLACEFROMARRAY数组名[FIELDS字段名列表][常用子句]

用新的值更新表中的记录(SQL命令):

UPDATE[databasename!

]tablename;

SETColumn_1=Expression1[{Column_2=expression2}...];

[WHERECondition]

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

UPDATEONfieldnameFROMfilename;

REPLACEfieldname1WITHexpr1

[,fieldname2WITHexpr2[,...]]

给记录加删除标记(SQL命令):

DELETEFROM[databasename!

]tablename;

[WHERE条件]

给记录加删除标记:

DELETE[范围][FOR条件][WHILE条件];

[IN工作区号|表别名]

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

PACK

永久删除打开的数据库中加了删除标记的记录:

PACKDATABASE

去掉删除标记(恢复)

RECALL[常用子句]

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

ZAP[INtablename|alias]

为数据表文件追加记录:

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

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

APPENDFROMfilename|?

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

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

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

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

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

从一个文件输入一个OLE对象放入一个通用(general)字段:

APPENDGENERAL通用字段名[FROMfilename]

如果省略子句FROMfilename,则将指定的字段清空。

将一个文本文件的内容拷贝到一个备注字段:

APPENDMEMO备注字段名[FROMfilename][OVERWRITE]

如果省略子句FROMfilename,则将指定的字段清空。

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

INSERT[BLANK][BEFORE]

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

在表中插入新记录并赋值(SQL命令):

INSERTINTOtablename[(字段1[,字段2,...])]VALUES(eExpression1[,eExpression2,...])或

INSERTINTOtablenameFROMARRAYArrayName|FROMMEMVAR

如带有FROMMEMVAR子句,则用同名的内存变量给字段赋值。

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

BLANK[常用子句]

移动记录指针:

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

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

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

COPYTOfilename[FIELDS字段名列表][常用子句][其它子句]

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

复制表的结构

COPYSTRUCTURETOfilename[FIELDS字段名列表]

复制任何文件:

COPYFILE源文件TO目的文件

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

从磁盘上删除任意文件:

(1)ERASEfilename|?

(2)DELETEFILE[filename|?

]

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

RENAMEfilename1TOfilename2

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

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

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

DIR|DIRECTORY[ONdrive]

从磁盘上删除一个文件夹:

RD|REDIR文件夹名

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

MD|MKDIR文件夹名

六、数据的复制与传送

单个记录与数组间的数据传送

当前记录→数组或内存变量:

SCATTER[FIELDS字段名列表][MEMO]TO数组名[BLANK]|MEMVAR[BLANK]其中[BLANK]表示建立一个空元素的数组。

如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。

如果包含MEMO子句,则备注字段一起复制。

数组或内存变量→当前记录

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

用同名的内存变量或数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。

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

表→数组:

COPYTOARRAYarrayname[常用子句]

数组→表:

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

用内存数组的值加在数据表的尾部,数据中的一行对应一个新记录,一列对应一个字段。

(2)REPLACEFROMARRAY数组名[常用子句]

用内存数组的值更新数据表中符合条件的记录。

查询结果→数组:

SELECT……INTOARRAYarrayname

将SQLSELECT语句的查询结果传给数组arrayname。

这里“SELECT……”可为各种形式的SELECT查询语句。

给内存变量赋值:

STORE表达式TO变量名

变量名=表达式

七、排序与索引

将当前表排序后建立一个新数据表:

SORTTO文件名ON字段名1[/A|/D];

[/C][字段名2[/A|/D][/C]...];

[ASCENDING|DESCENDING][常用子句];

建立单索引文件:

INDEXON表达式TO单索引文件名;

[FOR<条件>][UNIQUE][COMPACT];

[ASCENDING][DESCENDING][ADDITIVE]

建立复合索引文件:

INDEXON表达式TOTAG索引名[OF复合索引文件名];

[FOR条件][UNIQUE|CANDIDATE];

[ASCENDING][DESCENDING][ADDITIVE]

使用索引文件:

打开表时将索引文件一并打开,USE命令带INDEX子句:

USEtablename|?

[IN工作区号][INDEX索引文件名列表|?

]

给当前表打开一个或多个索引文件:

SETINDEXTO[索引文件名列表|?

];

[ORDER索引文件名序号|索引文件名|[TAG]索引名[OF复合索引文件名];

[ASCENDING][DESCENDING]]

指定字符字段在排序或索引时的整理系列:

SETCOLLATETO整理系列

对于汉字字符串,“整理系列”可以是“Machine”、“PinYin”或“Stroke”三者之一(必须带引号),分别表示按机器码、拼音和笔划排序。

指定当前表中的控制索引文件或标记:

SETORDERTO;

[索引文件名序号|索引文件名|[TAG]索引名[OF复合索引文件名];

[IN工作区号|表别名];

[ASCENDING][DESCENDING]

删除索引

DELETETAGALL[OF复合索引文件名]

DELETETAG索引标识1[OF复合索引文件名1];

[,索引标识2[OF复合索引文件名2]]…

八、查找和定位

顺序查找当前表中满足条件的第一条记录:

LOCATEFOR条件下[范围][WHILE条件]

找到后将记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真。

在索引表中查找:

FINDcExpr

其中cExpr为字符串表达式。

如果找到,则记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真;查找失败时,FOUND()的返回值为假,记录指针定位在文件尾。

在索引表中查找:

SEEKeExpr;

[ORDER索引文件名序号|索引文件名|[TAG]索引名[OF复合索引文件名];

[ASCENDING][DESCENDING]];

[IN工作区号|表别名]

如果找到,则记录指针定位在满足条件的第一条记录,且为真;查找失败时,FOUND()的返回值为假,记录指针定位在文件尾。

继续查找:

CONTINUE

用LOCATE、FIND或SEEK查找到一条记录后,用CONTINUE继续查找下一条。

用以上查找命令LOCATE、FIND、SEEK和CONTINUE的查找结果,都可以通过函数FOUND()的返回值反映出来。

九、统计计算

统计表中的记录数:

COUNT[范围][FOR条件][WHILE条件][TO内存变量名]

统计满足条件的记录数,显示记录数或将结果赋给内存变量名。

求和:

SUM[表达式列表];

[范围][FOR条件][WHILE条件][TO内存变量名|TOARRAY数组名]

求平均值:

AVERAGE[表达式列表];

[范围][FOR条件][WHILE条件][TO内存变量名|TOARRAY数组名]

对当前表中数值型字段进行分组求和:

TOTALTOtablenameON字段名[常用子句]

其中tablename为存放结果的表文件名,字段名为确定求和分组的字段。

计算:

CALCULATE表达式列表;

[范围][FOR条件][WHILE条件][TO内存变量名|TOARRAY数组名]

其中表达式列表可以是如下函数的任意组合:

AVG(nExpr),CNT(),MAX(eExpr),MIN(eExpr),NPV(nExpr1,nExpr2,…),

STD(nExpr),SUM(nExpr),VAR(nExpr)

其中nExpr为数值表达式,eExpr为任意表达式。

十、程序控制

条件语句:

IF条件[THEN]

……

[ELSE]

[……]

ENDIF

多分支语句:

DOCASE

CASE逻辑表达式1

……

CASE逻辑表达式2

……

CASE逻辑表达式n

……

[OTHERWISE]

……

ENDCASE

DO循环:

DOWHILE条件

[LOOP]

……

[EXIT]

……

ENDDO

FOR循环

FOR循环变量=初值TO终值STEP步长

……(中间可插入[LOOP]或[EXIT])

ENDFOR|NEXT

扫描循环(对一个表中满足条件的记录进行循环):

SCAN[范围][FOR条件][WHILE条件]

……(中间可插入[LOOP]或[EXIT])

ENDSCAN

集合扫描循环

FOREACHVarINGroup

Commands

[EXIT]

[LOOP]

ENDFOR|NEXT[Var]

十一、其它

定义数组:

DECLARE|DIMENSION数组名(下标1,下标2,……)

定义过程:

PROCEDURE过程名

PARAMETERS参数表

……

RETURN[TOMASTER|TO程序名]

定义函数:

FUNCTION函数名

PARAMETERS参数表

……

RETURN表达式

调用一个子程序或过程

DO子程序名|过程名[IN程序文件名][WITH实在参数表]

定义公共变量:

PUBLIC变量名列表

PUBLIC[ARRAY]数组名1(行1,列1)[,数组名2(行2,列2)[,…]]

定义私有变量

PRIVATE变量名列表

PRIVATEALL[LIKE|EXCEPT通配符]

定义局部变量

LOCAL变量名列表

LOCAL[ARRAY]数组名1(行1,列1)[,数组名2(行2,列2)[,…]]

显示各种信息:

LIST…(格式见有关手册)

DISPLAY…(格式见有关手册)

输出提示信息:

WAIT[<提示信息>][TO<内存变量>];

[WINDOW[AT[<行>,<列>][NOWAIT]];

[CLEAR|NOCLEAR];

[TIMEOUT<数值表达式>]

各种设置命令:

设置是否显示日期中的世纪:

SETCENTURYON|OFF

设置显示的小数位数:

SETDECIMALSTO小数位数

设置是否处理带删除标记的记录:

SETDELETEDON|OFF

如果设置为ON,则不处理带删除标记的记录。

设置是否显示命令的结果:

SETTALKON|OFF

设置文件的搜索路径:

SETPATHTO路径

设置传给子程序或自定义函数的参数是按值还是按引用方式传递:

SETUDFPARMSTOVALUE|REFERENCE

如设置为TOVALUE,表示按值传递。

执行一个外部命令或程序:

RUN命令或程序

在指定的位置显示或打印:

@行,列SAY…

在指定的位置显示表达式的值,并等待用户输入,将输入值赋给一变量:

@行,列SAY表达式GET变量名[DEFAULT表达式]

READ

例:

@2,2say"请输入金额:

"getnMoneydefault50

Read

此例先在第2行、第2列显示"请输入金额:

",等待用户输入一个数值,将用户输入值赋给变量nMoney,如果用户不输入数值(直接按回车),则将50赋给nMoney。

请注意在下一行不能漏掉“Read”。

ALL:

命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾。

NEXT命令作用于从当前记录开始到当前记录后条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。

NEXT1表示仅作用于当前记录。

Record命令作用于记录号为的记录。

TEST命令作用范围从当前记录开始到表的最后一个记录为止

命令中的FOR子句只作用于满足条件的记录。

一、基本命令

1.打开和关闭数据表

USE[<数据表名>]当省略选项时为关闭当前数据表

CLOSEALL关闭所有数据表

2.选择当前工作区

SELECT<工作区号|数据表名|0>

功能:

选择当前工作区。

可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。

SELECT0是选择当前未使用的最低编号的工作区

3.增加记录

APPENDBLANK在当前表的尾部追加一个空白记录

INSERTBLANK在当前表的当前记录之后插入一条空白记录

INSERTBLANKBEFORE在当前表的当前记录之前插入一条空白记录

注意:

在表建立索引后,INSERT的功能与APPEND相同

4.替换字段的值

REPLACE[范围]<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>,...<字段n>WITH<表达式n>][FOR]

功能:

计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。

5.删除记录

DELETE[范围][FOR条件]

功能:

对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作。

RECALL[范围][FOR条件]

功能:

对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。

PACK

功能:

删除带有删除标记的记录

ZAP

功能:

物理删除当前表所有记录

6.建立索引与选择主控索引

INDEXON<关键字表达式>TAG<索引标识符>[DESCENDING]

功能:

对当前表按<关键字表达式>建立结构复合索引,索引文件名与表名相同,扩展名默认为CDX。

DESCENDING选项为按关键字降序排列,默认为升序。

SETORDERTOTAG<索引标识符>

功能:

在结构复合索引文件打开后,指定主控索引标识符。

7.记录指针定位

GOBOTTOM|TOP|

功能:

移动记录指针直接指定记录。

BOTTOM为指向末记录,TOP为指向首记录,为指向记录号为的记录。

SKIP[expN]

功能:

按expN的值,从当前位置出发移动记录指针。

当expN为正时向尾部方向移动expN条记录,当expN为负时向首部方向移动expN条记录,当expN为1时可以省略。

8.查找

LOCATE[范围][FOR条件]

功能:

在数据表的指定范围中搜索满足条件的第一个记录。

搜索成功,记录指针指向该记录,并将FOUND()置为.T.;否则,记录指针指数据表末尾,并将FOUND()置为.F.。

<范围>缺省为ALL。

CONTINUE

功能:

查找下一个满足LOCATE命令指定条件的记录,查找成功,将FOUND()置为.T.并将指针指向满足条件的记录;否则,记录指针指数据表末尾,将FOUND()置为.F.。

9.数据表复制

COPYTO<文件名>[范围][FIELDS<字段名表>][FOR条件]

功能:

把已打开的表内容复制到新的表中。

<范围>缺省值为ALL。

<字段名表>规定了新表字段,缺省为全部字段。

COPYSTRUCTURETO<文件名>[FIELDS<字段名表>]

功能:

把当前表的结构复制到新的表中。

不复制记录。

<字段名表>规定了新表字段,缺省为全部字段。

10.统计

COUNT[范围][FOR条件]TO<内存变量>

功能:

统计表中满足条件的记录个数,并存入指定的内存变量。

<范围>缺省时为ALLSUM[表达式表][范围][FOR条件]TO<内存变量表>

功能:

统计表中全部的或指定数值字段的值的和,并各个和存入指定的内存变量,内存就是的个数求和的数值表达式个数相同。

<范围>缺省时为ALL

AVERAGE[表达式表][范围][FOR条件]TO<内存变量表>

功能:

统计表中全部的或指定数值字段的值的平均,并各个和存入指定的内存变量,内存就

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

当前位置:首页 > 自然科学 > 物理

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

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