文档库 最新最全的文档下载
当前位置:文档库 › vf常用命令(全)

vf常用命令(全)

vf常用命令(全)
vf常用命令(全)

命令结构

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为当前数据库。

指定当前的数据库:

SET DATABASE TO [databasename]

Databasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。

关闭数据库:

CLOSE DATABASE [ALL]

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

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

建立数据表(SQL命令):

CREATE 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子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。

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

CREATE SQL VIEW viewname AS SELECT ……

其中SELECT ……为SELECT语句。

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

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

DELETE VIEW viewname

打开一个表:

USE tablename|? [IN 工作区号]

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

JOIN WITH 工作区号|表别名TO tablename FOR 条件[FIELDS 字段名表]

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

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

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

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

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

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

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

数据表改名:

RENAME TABLE tablename1 TO tablename2

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

视图改名:RENAME VIEW viewname1 TO viewname2

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

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

ALTER TABLE tablename ;

ADD 字段名Type [NULL | NOT NULL]

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

[ALTER COLUMN字段名Type {NULL | NOT NULL}];

[{,字段名Type NULL | NOT NULL}...] ;

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

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

SET RELATION TO [表达式1 INTO 工作区号1 | 表别名1];

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

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

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

SET SKIP TO表别名1[, 表别名2]

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

SET RELATION OFF INTO 工作区号| 表别名

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

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

格式见教材的有关章节。这是本课程的重点内容,必须很好地掌握。

更改数据表中的记录:

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

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

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

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

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

REPLACE FROM ARRAY数组名[FIELDS 字段名列表][常用子句] 用新的值更新表中的记录(SQL命令):

UPDATE [databasename!]tablename;

SET Column_1=Expression1 [{Column_2=expression2}...] ;

[WHERE Condition]

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

UPDATE ON fieldname FROM filename;

REPLACE fieldname1 WITH expr1

[, fieldname2 WITH expr2 [, ...]]

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

DELETE FROM [databasename!]tablename;

[WHERE 条件]

给记录加删除标记:

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

[IN 工作区号|表别名]

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

PACK

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

PACK DATABASE

去掉删除标记(恢复)

RECALL [常用子句]

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

ZAP [IN tablename|alias]

为数据表文件追加记录:

APPEND [BLANK][IN 工作区号|别名] 从另一个文件中提取数据添加到当前数据表的尾部:

APPEND FROM filename|? [FIELDS 字段名列表][ FOR 条件]

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

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

APPEND FROM ARRAY arrayname [ FOR 条件][FIELDS字段名列表]

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

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

APPEND GENERAL 通用字段名[FROM filename]

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

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

APPEND MEMO 备注字段名[FROM filename][OVERWRITE]

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

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

INSERT [BLANK] [BEFORE]

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

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

INSERT INTO tablename [(字段1 [, 字段2, ...])]VALUES (eExpression1 [, eExpression2, ...])

INSERT INTO tablename FROM ARRAY ArrayName | FROM MEMVAR

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

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

BLANK [常用子句]

移动记录指针:

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

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

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

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

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

复制表的结构

COPY STRUCTURE TO filename [FIELDS字段名列表]

复制任何文件:

COPY FILE 源文件TO 目的文件

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

从磁盘上删除任意文件:

(1)ERASE filename|?

(2)DELETE FILE [filename|?]

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

RENAME filename1 TO filename2

其中filename1和filename2都可以包含路径。如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。

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

DIR | DIRECTORY [ON drive]

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

RD | REDIR 文件夹名

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

MD | MKDIR文件夹名

六、数据的复制与传送

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

SCATTER [FIELDS字段名列表][MEMO]TO 数组名[BLANK] | MEMVAR [BLANK]

其中[BLANK]表示建立一个空元素的数组。如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。

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

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

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

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

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

表→数组:

COPY TO ARRAY arrayname [常用子句]

数组→表:

(1) APPEND FROM ARRAY arrayname [ FOR 条件][FIELDS字段名列表]

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

(2) REPLACE FROM ARRAY数组名[常用子句]

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

查询结果→数组:

SELECT …… INTO ARRAY arrayname

将SQL SELECT语句的查询结果传给数组arrayname。这里“SELECT ……”可为各种形式的SELECT查询语句。

给内存变量赋值:

STORE 表达式TO 变量名

变量名=表达式

七、排序与索引

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

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

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

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

建立单索引文件:

INDEX ON 表达式TO 单索引文件名;

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

[ASCENDING][DESCENDING][ADDITIVE]

建立复合索引文件:

INDEX ON 表达式TO TAG 索引名[OF 复合索引文件名];

[FOR 条件] [UNIQUE|CANDIDATE];

[ASCENDING][DESCENDING][ADDITIVE]

使用索引文件:

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

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

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

SET INDEX TO[索引文件名列表|?];

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

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

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

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

SET ORDER TO;

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

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

[ASCENDING][DESCENDING]

删除索引

DELETE TAG ALL [OF 复合索引文件名]

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

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

八、查找和定位

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

LOCATE FOR 条件下[范围][WHILE条件]

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

在索引表中查找:

FIND cExpr

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

在索引表中查找:

SEEK eExpr;

[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内存变量名|TO ARRAY 数组名]

求平均值:

AVERAGE [表达式列表];

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

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

TOTAL TO tablename ON 字段名[常用子句]

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

计算:

CALCULATE 表达式列表;

[范围] [FOR 条件] [WHILE 条件][TO内存变量名|TO ARRAY 数组名] 其中表达式列表可以是如下函数的任意组合:

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

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

十、程序控制

条件语句:

多分支语句:

DO循环:

DO WHILE 条件

[LOOP]

……

[EXIT]

……

ENDDO

FOR循环

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

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

ENDFOR | NEXT

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

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

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

ENDSCAN

集合扫描循环

FOR EACH Var IN Group

Commands

[EXIT]

[LOOP]

ENDFOR | NEXT [Var]

十一、其它

定义数组:

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

定义过程:

PROCEDURE 过程名

PARAMETERS 参数表

……

RETURN [TO MASTER | TO 程序名]

定义函数:

FUNCTION 函数名

PARAMETERS 参数表

……

RETURN 表达式

调用一个子程序或过程

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

定义公共变量:

PUBLIC 变量名列表

PUBLIC [ARRAY] 数组名1(行1,列1)[, 数组名2(行2,列2) [,…]]定义私有变量

PRIVATE变量名列表

PRIVATE ALL[LIKE | EXCEPT 通配符]

定义局部变量

LOCAL 变量名列表LOCAL [ARRAY] 数组名1(行1,列1)[, 数组名2(行2,列2) [,…]显示各种信息:

LIST … (格式见有关手册)

DISPLAY … (格式见有关手册)

输出提示信息:

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

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

[CLEAR|NOCLEAR];

[TIMEOUT<数值表达式>]

各种设置命令:

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

SET CENTURY ON | OFF

设置显示的小数位数:

SET DECIMALS TO 小数位数

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

SET DELETED ON | OFF

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

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

SET TALK ON | OFF

设置文件的搜索路径:

SET PATH TO 路径

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

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

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

RUN 命令或程序

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

@行,列SAY …

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

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

READ

例:

@2,2 say "请输入金额: " get nMoney default 50

Read

此例先在第2行、第2列显示"请输入金额: ",等待用户输入一个数值,将用户输入值赋给变量nMoney,如果用户不输入数值(直接按回车),则将50赋给nMoney。请注意在下一行不能漏掉“Read”。

Vf 命令语句

1、复制表:use <表文件名>

Copy to <表位置>

2、复制表结构:use <表文件名>

Copy structure to <表文件名>[fields 字段列表]

3、创建数据库:create database<数据库名>

4、打开表:use <表文件名>[IN 工作区号][alias 别名]

5、关闭表:关闭当前表(use);关闭指定表(use [IN 工作区号])

6、打开数据库:open database<数据库名>

7、关闭数据库:关闭当前数据库(close database)

关闭多个数据库(close all)

8、设置数据库为当前数据库:set database to[数据库名]

9、显示表的结构:use <表文件名>

Display structure

10、浏览数据:use <表文件名>

Browse [fields 字段列表][for 条件(并且:and 和:or)] 11、定位记录:记录指针移到第一条记录go top

记录指针移到最末一条记录go bottom

记录指针移到指定记录go<记录号>

以当前记录为基准,移动记录指针skip[记录数]

测试记录指针位置recno()

12、显示数据:Display [all] [fields 字段列表]

例:use <表文件名>

Go 5

Display [fields 字段列表] 显示记录号为5的内容

13、使用命令追加记录:append [blank]

测试:reccount()

对没打开得表追加一条记录:insert into<表名>[(字段名表)]values(表达式表) 将指定表文件中的记录追加到当前表:append from <表文件名>[fields 字段

列表][for 条件]

14、成批修改数据:replace<字段名1>with<表达式1>[,<字段名2>with<表达式

2>]

15、删除记录:添加标记delete[for条件]

取消标记recall[for条件]

彻底删除pack

16、索引文件:index on <关键字>tag<索引名>[of 复合索引文件名][for 条

件][descending 有为降序,省缺为升序]

打开索引文件:set index to[索引文件列表]

指定当前索引:set order to<索引名>[索引文件名]

17、求和命令:sum[表达式列表][范围][for 条件]

统计某类共有多少:count [for 条件]

显示数量:count [for 条件] to <名> ?名

18、求平均值命令:average [表达式列表][范围][for 条件]

19、选不同表为当前表:select<工作区号|别名>

20、创建表关系:(1)、use <表文件名1> alias<别名1>

use <表文件名2> in 0 alias <别名2>

select <别名>

locate for 学号=档案.学号

disp(或browse)fiel 学号,档案.姓名,成绩.数学[all]

(2)、use <表文件名> alias<别名1>注:打开子表,定别名

Set order to tag <关键字>注:指定子表的当前索引

Select 0

use <主表文件名>

set relation to <关键字> into <别名>注:建一对一关系

或set skip to <别名>注:建一对多关系

21、使用命令查询数据:select<字段名>from[数据库名!]<表名>[where 条件]

使用命令查询:do<查询文件名> ;修改查询文件:modify query<查询文件名>

22、统计某类个数:count(名)

23、使用命令新建报表:create report <报表文件名>

使用命令打开报表:modify report<报表文件名>

24、建程序:语句use 2001<表文件名>

display all

use

return 保存

使用命令创建程序:modify command<程序文件名>;运行程序:do<程序文件名>

25、表单的确定命令:if thisform.text1.value='changzheng'and thisform.text2.value='673248'

do form 功能表单

else

https://www.wendangku.net/doc/345908383.html,bel4.caption='对不起,用户名或密码错误'

endif

26、上一个命令:if not bof() 下一个命令:if not eof()

skip -1 skip

endif endif

thisform.refresh() thisform.refresh() 编辑的命令:append blank 删除的命令:use<表名>-----双击背景空白处

thisform.refresh() delete

退出的命令:thisform.release或quit pack

thisform.refresh()

27、建程序的命令:do form 学生管理系统表单/ read event / quit 然后设主文件,

连编第一项,再连编第三项

VFP的update 和 replace 有什么不同

都是数据修改命令

update是SQL中的数据更新命令,replace是VF中的数据更新命令;

update不需要打开表,repl命令需要先打开表;

update不加条件是更新表中所有记录,repl不加条件是更新当前记录,要加上all 短语才是更新所有记录replace 是修改当前记录

replace all 是修改表中所有记录

例如:我这里有个学生表,我将记录指针指向第三条记录:go 3

然后我用replace 年龄with 年龄+1

这样,我就把第三条记录的年龄加了1

如果我用replace all 年龄with 年龄+1 则该学生表的所有记录年龄都加1

另外,replace 后面还可以用for进行条件限制,如果有了for 条件,那replace all 中的all 可以省略。

例如:性别为男的同学年龄+1

replace all 年龄with 年龄+1 for 性别="男"

有了条件,默认的就是修改满足条件的所有记录。这样,all 在这里就多余可,即可省略:

写成replace 年龄with 年龄+1 for 性别="男"

do、use、open区别

打开程序文件和表单用do,只不过打开程序文件时,程序文件需要带上后缀名,而打开表单时,在do的后面需要带上form再加上表单名;打开和关闭表文件,用的是use。打开时use后面需有表名,关闭不用带。打开数据库的时候是用open!!!

do <程序名>

use <表名>

open database <数据库名>(close data)

SET TALK OFF与SET TALK ON

SET TALK OFF的意思是关闭程序运算的显示过程,SET TALK ON是开启显示程序的运算过程对于这两个在VFP中间是可有可无的只是如果你做的是个比较大的程序的话建议带上,小的就算了大的程序运算过程太多在VFP窗口界中间会显示她的整个运算过程,所以一般写程序都会先用SET TALK OFF

把她关掉,这样便于观察也方便些,程序在运算的时候就不会显示运算过程了程序写完以后因为开始你把它关了所以要用ON 恢复系统默认的开启状态

SET SAFETY OFF 与SET SAFETY ON :

就是显示不显示提示对话框,比如下面的命令

SELECT * FROM A INTO TABLE B

SELECT * FROM C INTO TABLE B

那么VF系统就会提示你“B.DBF已经存在,改写吗?”

如果你写的是

SET SAFETY OFF

SELECT * FROM A INTO TABLE B

SELECT * FROM C INTO TABLE B

那么VF就不会提示你了

说明:系统的默认状态是SET SAFETY ON

insert命令在VF中可以向记录中间添加记录,在SQL中是向记录末尾添加记录,命令格式:

insert into 表名(字段1,字段2,....) values(值1,值2....)

distinct功能是去掉重复记录.例如:select 职称from zg结果可能显示为:高工工

程师高工工程师助理工程师技术员而select distinct 职称from zg显示为:高工工程师助理工程师技术员即重复的结果只显示一次

数值函数:

1.绝对值和符号函数

格式:ABS(<数值表达式>)

SIGN(<数值表达式>)

例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=0

2.求平方根表达式

格式:SQRT(<数值表达式>)

例如:SQRT(16)=4,它与开二分之一次方等同。

3.圆周率函数

格式:PI()

4.求整数函数

格式:INT(<数值表达式>)返回数值表达式的整数部分

CEILING(<数值表达式>)返回大于或等于表达式的最小整数

FLOOR(<数值表达式>)返回小于或等于表达式的最大整数

例如:

INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5

FLOOR(9.9)=9

5.四舍五入函数

格式:ROUND(<数值表达式1>,<数值表达式2>)

功能:返回制定表达式在制定位置四舍五入的结果

例如:

ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0)=34 5,ROUND(345.345,-1)=350

6.求余函数

格式:MOD(<数值表达式1>,<数值表达式2>)

例如:

MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1

求余数的规律:1.首先按照两数的绝对值求余

2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值

3.余数取表达式1的正负号

4.若两数异好号,余数在加上表达式2的值为最终的结果

7. 求最大值和最小值函数

MAX(数值表达式列表)

MIN (数值表达式列表)

例如:MAX(2,3,5)=5 MAX(…2?,?12?,?05?)=2MAX(…汽车?,?飞机?,?轮船?)

字符串比较的规律:

字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。如果相等在进行第二个字母的比较,以次类推。

8,自然对数函数

LOG(<数值表达式>)

功能:求自然对数函数,也就是EXP()函数的逆运算

例:LOG(2.71828)=1.00000 LOG(4*2)=2.08

9,随机函数

RAND([数值表达式]) 功能:返回一个在0~1之间的随机数,函数的值大于0而小于1.

RAND()=0.851,INT(RAND()*100)=44

字符函数

1.求字符串长度函数

格式:LEN(<字符表达式>)

功能:返回制定字符表达式的长度,即所包含的字符个数。函数值为数值型

例如:X=“中文Visual FoxPro6.0” 则LEN(X)=20

2.大小写转换函数

格式:LOWER(<字符表达式>)

UPPER(<字符表达式>)

功能:LOWER将制定表达式值中的大写字母转换成小写字母,其他字符不变 UPPER将指定表达式值中的小写字母转换成大写字母,其他字符不变。例如:LOWER(…X1y2A?)=x1y2a UPPER(…n=1?)=N=1

3.空格字符串生成函数

格式:SPACE(<字符表达式>)

功能:返回指定数目的空格组成的字符串。

?”|单”+SPACE(6)+”位|”

&& |单□□□□□□位|

4.删除前后空格函数

格式:TRIM(<字符表达式>)

LTRIM(<字符表达式>)

ALLTRIM(<字符表达式>)

功能:TRIM():返回指定字符表达式值去掉尾部空格后形成的字符串

LTRIM():返回指定字符表达式值去掉前导空格后形成的字符串

ALLTRIM():返回指定字符表达式值去掉前导空格和尾部空格后形成的字符串。

例如:STORE SPACE(1)+”TEST”+SPACE(3) TO SS

?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)

LEN(SS)=8,LEN(TRIM(SS))=5,LEN(LTRIM(SS))=7,LEN(ALLTRIM(SS)) =4

5.取子串函数

格式:LEFT(<字符表达式>,<长度>)

RIGHT(<字符表达式>,<长度>)

SUBSTR(<字符表达式>,<起始位置>,<长度>)

功能:LEFT(): 从指定表达式值的左端取一个指定长度的子串作为函数值。

RIGHT():从指定表达式值的右端取一个指定长度的子串作为函数值。

SUBSTR():从指定表达式值的起始位置取指定长度的子串作为函数值。

例如:STORE “GOOD BYE!” TO X

LEFT(X,2)=GO,SUBSTR(X,6,2)+SUBSTR(X,6)=BYBYE!,RIGHT(X,3)=YE!

6.计算子串出现次数函数

格式:OCCURS(<字符表达式1>,<字符表达式2>)

功能:返回第一个字符串在第二个字符串中出现的次数。

例如:STORE …abracadabra? TO S

OCCURS(…a?,S)=5, OCCURS(…b?,S)=2, OCCURS(…c?,S)=1, OCCURS(…e?,S)=0

7.求子串位置函数

格式:AT(<字符表达式1>,<字符表达式2>,<数值表达式>)

ATC(<字符表达式1>,<字符表达式2>,<数值表达式>)

功能:验证表达式1是否是表达式2的子串,如果是,返回表达式1的首字符在表达式2中的位置,若不是,则为0

ATC()与AT()的功能类似,但比较时不区分大小写

例如: STORE”This is Visual FoxPro” TO X

AT(“fox”,X)=0,ATC(“fox”,X)=16,AT(“is”,X,3)=10,AT(“xo”,X)

8.子串替换函数

格式:STUFF( <字符表达式1>,<起始位置>,<长度>,<字符表达式2>)

功能:用<字符表达式2>的值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。

例如:STORE …GOOD BYE!? TO S1

STORE …MORNING? TO S2

?STUFF(S1,6,3,S2)=GOOD MORNING!

?STUFF(S1,1,4,S2)=MORNING BYE!

9.字符替换函数

格式:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)

功能:当第一个字符中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符中的对应字符(相同位置)替换这些字符。如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的各字符将会被铲除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多于字符被删掉。

例如:CHRTRAN(“ABACAD”,”ACD”,”X12”)=XBX1X2

CHRTRAN(“计算机ABC”,”计算机”,”电脑”)=电脑ABC

CHRTRAN(“大家好!”,”大家”,”您”)=您好!

总结:第二个表达式没有的照写,第三个表达式没有的去掉。

10.字符串匹配函数

格式:LIKE(<字符表达式1>,<字符表达式2>)

功能:比较两个字符串对应位置上的字符,若所有对应字符相匹配,函数返回逻辑真(.T.)否则返回逻辑假(.F.)

<字符表达式1>中可以包含通配符*和?。*可与任何数目的字符相匹配,?可以与任何单个字符相匹配。

例如:

STORE “abc” to x

STORE “abcd” to y

LIKE(“ab*”,x)=.T.LIKE(“ab*”,y)=.T.LIKE (x,y)=.F.

LIKE(“?b?”,x)=.T.LIKE(“ABc”,x)=.F

.日期和时间函数

1.系统日期和时间函数:

格式:DATE():返回当前系统日期,函数值为日期型

TIME():以24小时制、HH:MM:SS格式返回当前系统时间(字符型)

DATETIME():返回当前系统日期时间,函数值为日期时间型

2.求年份、月份、天数函数

格式:YEAR(<日期表达式>|<日期时间表达式>)

MONTH(<日期表达式>|<日期时间表达式>)

DAY(<日期表达式>|<日期时间表达式>)

3.时、分和秒函数

格式:HOUR(<日期时间表达式>)

MINUTE(<日期时间表达式>)

SEC(<日期时间表达式>)

数据类型转换函数

1.数值转换成字符串

格式:STR(<数值表达式>,<长度>,<小数位数>)

例如:STORE –123.456 TO N

STR(N,9,2)=-123.46,STR(N,6,2)=-123.5

STR(N,3)=***,STR(N,6)=-123,STR(N)=-123

2.字符串转换成字符

格式:VAL(<字符表达式>)

例如:STORE …-123.? TO X,STORT …45? TO Y

STORE ?A45? TO Z

VAL(X+Y)=123.45,VAL(X+Z)=123.00,VAL(Z+Y)=0.00

3.字符串转换成日期或日期时间

格式:CTOD(<字符表达式>)转化成日期型数据

CTOT(<字符表达式>)转化成日期时间型数据

4.日期或日期时间转化成字符串

格式:DTOC(<日期表达式>|<日期时间表达式>[,1])

TTOC(<日期时间表达式> [,1])

功能TOC()将日期型数据或日期时间数据的日期部分转化成字符串

TTOC()将日期时间数据转化成字符串

声明:对DTOC()来说,如果选项是1,则字符串的格式总是YYYYMMDD,8个字符。对TTOC()来说,如果使用选项1,则字符串格式总是YYYYMMDDHHMMSS,14个字符

例如:

STORE DATETIME() TO T

DTOC(T)=11/11/2005, DTOC(T,1)=20051111,

TTOC(T)=11/11/2005 18:54:34 PM

TTOC (T,1)=20051111185434

5宏替换函数

格式:&<字符变量>[.]

功能:替换出字符变量的内容,即去掉定界符。

例如:kk=“456”, ?&kk*100=45600

测试函数

1.值域测试函数

格式:BETWEEN(<表达式T>,<表达式L>,<表达式H>)

例如:STORE NULL TO X;STORE 100 TO Y

BETWEEN(150,Y,Y+100)=.T.

BETWEEN(90,X,Y)=NULL

2.空值(NULL值)测试函数

格式:ISNULL(<表达式>)

例如:STORE .NULL. TO X

ISNULL(X)=.T.

3“空”值测试函数

格式:EMPTY(<表达式>)

4.数据类型测试函数

格式:VARTYPE (<表达式>[,<逻辑表达式>])

功能:测试表达式的类型,返回一个大写字母,函数值为字符型

2.空值(NULL值)测试函数

功能:若<表达式>的值为“空”(NULL),函数返回值为真,否则为假。该空值(NULL)与EMPTY空值含义不一样,是指不存在的值或丢失的值或不确定的值。数字0,空字符串,逻辑假,空日期均不为空(NULL)。

格式:ISNULL(<表达式>)

例:USE xs

GOTO 2

? ISNULL(zydh),EMPTY(0), EMPTY(“”) && .T. .F. .F. 3.表文件尾测试函数

格式:EOF([<工作区号>|<表别名>])

4.表文件头测试函数

格式:BOF([<工作区号>|<表别名>])

5.记录号测试函数

格式:RECNO([<工作区号>|<表别名>])

6记录个数测试函数

RECCOUNT ([<工作区号>

6.条件测试函数

格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)

功能:测试<逻辑表达式>的值,表达式逻辑若为真,函数返回<表达式1>

的值,若为逻辑假,函数返回<表达式2>的值,<表达式1>和<表达式2>表达式类型不要求相同。

例如:X=100;Y=300

IIF(X>100,X-50,X+50)=150;IIF(Y>100,Y-50,Y+50)=250

7.记录删除测试函数

Visual FoxPro基础:

<命令字>[范围][[FIELDS] 表达式清单] [FOR条件][WHILE 条件2] 例:DISPLAY NEXT 4 xm,csrq FOR xb=’男’

VF常用命令及其格式

VF常用命令及其格式 1、打开表命令:USE表文件名 2、关闭表命令:USE、CLOSE ALL或USE 3、记录指针定位命令:GO数值表达式(绝对移动)、SKIP(相对移动) 4、替换(修改)记录命令:REPLACE字段1WITH表达式1,字段2WITH表达式2……[范围][FOR<条件>] 5、复制表命令:COPY TO新文件名[FOR〈条件〉][范围] 复制表结构命令:COPY STRU TO新表文件名[FIEL〈字段名表〉] 6、建立索引命令:INDEX ON关键字段TO单索引文件名 INDEX ON关键字段TAG索引标识名 7、查询命令:(1)条件查询:LOCATE FOR〈条件〉 继续查找命令:CONTINUE (2)索引查询:FIND字符表达式 SEEK表达式 继续查找命令:SKIP 8、选择工作区命令:SELECT工作区号|别名 9、建立表之间的关联命令:SET RELATION TO关联表达式INTO别名 10、表的更新命令: UPDATE ON关键字段FROM别名REPLACE字段1WITH表达式1,字段2WITH表达式2……[RANDOM] 11、交互式输入命令: (1)INPUT[提示信息]TO内存变量 (2)ACCEPT[提示信息]TO内存变量 13、输出命令:?和?? 常用命令: 1、设置默认路径命令:SET DEFA TO盘符:\路径 2、关闭表命令:CLOSE TABLE,CLEAR ALL 3、记录显示命令:LIST/DISP[范围][FOR〈条件〉] 4、追加记录命令:(1)表尾追加:APPEND[BLANK] (2)表中插入:INSERT[BEFORE][BLANK] (3)从其他文件中追加多条记录到当前表:APPEND FROM文件名[FOR〈条件〉][FIEL<字段名表>] 5、删除记录命令:DELE[范围][FOR<条件>] 6、彻底删除带标记记录命令:PACK 7、取消删除标记命令:RECALL[范围][FOR<条件>] 8、物理删除表中所有记录命令:ZAP

VF6.0数据库常用命令

VF6.0常用命令 一、基本命令 APPEND 在表的末尾添加一个或多个新记录APPEND FROM 从一个文件中读入记录,追加到当前表的尾部 AVERAGE 计算数值表达式或字段的算术平均值BROWSE 打开浏览窗口,显示当前或选定表的记录CHANGE 显示要编辑的字段 CLOSE 关闭各种类型的文件 COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表 COPY TO ARRAY 将当前选定表中的数据复制到数组COPY TO 用当前选定表的内容创建新文件 COUNT 统计表中记录数目 CREATE 生成一个新的VisualFoxPro表 CREATE DATABASE 创建并打开一个数据库 DELETE 给要删除的记录做标记 DELETE DATABASE 从磁盘上删除数据库 DELETE VIEW 从当前数据库中删除一个SQL视图DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息 DISPLAY DATABASE 显示有关当前数据库的信息,或

当前数据库中的字段、命名连接、表或视图的信息DISPLAY MEMORY 显示内存变量和数组的当前内容DISPLAY STRUCTURE 显示一个表文件的结构DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它 DROP VIEW 从当前数据库中删除指定的SQL视图FIND 查找记录 GO|GOTO 将记录指针移动到指定记录上 INSERT 插入记录 JOIN 将两个数据库文件合并 LIST 连续显示表或环境信息 LIST DATABASE 连续显示有关当前数据库的信息LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录 MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库 MODIFY STRUCTURE 显示表设计器 MODIFY VIEW 显示视图设计器 OPEN DATABASE 打开一个数据库 PACK 从当前表中永久删除标有删除标记的记录

VF常用命令及其格式

VF常用命令及其格式 关于VF 2007-03-27 10:30:33 阅读8 评论0 字号:大中小 VF常用命令及其格式 1、打开表命令:USE 表文件名教材P67 2、关闭表命令:USE 、CLOSE ALL P68 3、记录指针定位命令:GO 数值表达式(绝对移动)、SKIP(相对移动)P69-70 4、替换(修改)记录命令:REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2…… [范围][FOR<条件>] P79 5、复制表命令:COPY TO 新文件名[FOR〈条件〉][范围] P84 复制表结构命令:COPY STRU TO 新表文件名[FIEL 〈字段名表〉] P85 6、建立索引命令:INDEX ON 关键字段TO 单索引文件名 INDEX ON 关键字段TAG 索引标识名P89 7、查询命令:(1)条件查询:LOCATE FOR 〈条件〉P93 继续查找命令:CONTINUE P93 (2)索引查询:FIND 字符表达式P94 SEEK 表达式P95 继续查找命令:SKIP P95 8、选择工作区命令:SELE 工作区号|别名P105 9、建立表之间的关联命令:SET RELATION TO 关联表达式INTO 别名P108 10、表的更新命令:参考我的课件第三章第五节关于表的更新部分 UPDATE ON 关键字段FROM 别名REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2 …… [RANDOM] 11、交互式输入命令: (1)INPUT [提示信息] TO 内存变量P139 (2)ACCEPT [提示信息] TO 内存变量P139 13、输出命令:?和??P141 常用命令: 1、设置默认路径命令:SET DEFA TO 盘符:\路径 2、关闭表命令:CLOSE TABLE,CLEAR ALL

VF常用命令

数据表操作命令 1、创建数据表命令: 格式:CREA TE [<表文件名>/?] 功能:新建一个VF数据表 2、打开数据表命令: 格式:USE [<表文件名>] 功能:打开指定的数据表或关闭数据表3、关闭数据表命令 格式:CLOSE DA TABASES 功能:关闭所有工作区中打开的数据表 文件及相关文件,选择1号工作 区为当前工作区 格式:CLOSE ALL 功能:关闭所有工作区的所有文件,选 择1号工作区为当前工作区格式:CLEAR ALL 功能:关闭所有文件,释放内存变量, 选择1号工作区为当前工作区格式:QUIT 功能:关闭所有文件,安全退出VF,返 回宿主操作系统 4、显示表结构命令 格式1:LIST STRUCTURE 格式2;DISPLAY STRUCTURE 功能:在主窗口显示当前打开的数据表 结构 5、修改表结构命令 格式:MODIFY STRUCTURE 功能:显示并修改当前打开数据表结构6、复制表结构命令 格式:COPY STRUCTURE TO <表文件 名>[FEILES<字段名>] 功能:对当前数据表结构进行复制,形 成一个指定名称的新表结构 7、复制数据表命令 格式:COPY TO <表文件名>[<范围>] [FOR<条件>] WHILE<条件>] [FIELDS<字段表>] [TYPE<文件 类型>] 功能:对当前数据表中指定范围内符合 条件的记录进行复制,形成一个 指定名称的新数据表8、追加与插入记录命令 格式:APPEND [BLANK] 功能:在当前数据表的末尾增加新记录 格式:APPEND FROM<表文件 名>[FOR<条件>] [WHILE<条 件>] [FILEDS<当前表字段表>] [TYPE<文件类型>] 功能:由磁盘上指定的表文件中,将规 定范围内符合条件的记录自动 添加到当前数据表的末尾。 9、插入记录命令 格式:INSERT [BLANK] [BEFORE] 功能:在当前数据表指定的位置上插入 一条新记录 10、记录指针移动命令 格式1:GO[TO] 功能:将记录指针移到第条记录 格式2:GO[TO] TOP 功能:将记录指针移到当前表的第一条 记录 格式3:GO[TO ]BOTTOM 功能:将记录指针移到当前表最后一条 记录 格式:SKIP[] 功能:相对于当前记录,记录指针向上 或相下移动若干条记录 11、显示记录命令 格式1:LIST [<范围>] [FOR<条 件>][WHILE<条件>] [FIELDS<表达式表>] [OFF] [TO PRINT] 格式2:DISPLAY[<范围>] [FOR<条 件>][WHILE<条件>] [FIELDS<表达式表>] [OFF] [TO PRINT] 功能:输出指定范围内满足条件的各 个记录的有关内容 12、删除记录命令 逻辑删除:DELETE [<范围>] [FOR<条 件>] [WHILE<条件>] 去处删除标志:RECALL [<范围>] [FOR<条件>] [WHILE<条 件>]

VF9.0数据库常用命令

VF 9.0常用命令 一、基本命令 APPEND 在表的末尾添加一个或多个新记录 APPEND FROM 从一个文件中读入记录,追加到当前表的尾部AVERAGE 计算数值表达式或字段的算术平均值 BROWSE 打开浏览窗口,显示当前或选定表的记录CHANGE 显示要编辑的字段 CLOSE 关闭各种类型的文件 COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表 COPY TO ARRAY 将当前选定表中的数据复制到数组 COPY TO 用当前选定表的内容创建新文件 COUNT 统计表中记录数目 CREATE 生成一个新的VisualFoxPro表 CREATE DATABASE 创建并打开一个数据库 DELETE 给要删除的记录做标记 DELETE DATABASE 从磁盘上删除数据库 DELETE VIEW 从当前数据库中删除一个SQL视图 DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息 DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息

DISPLAY MEMORY 显示内存变量和数组的当前内容DISPLAY STRUCTURE 显示一个表文件的结构 DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息 DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它DROP VIEW 从当前数据库中删除指定的SQL视图 FIND 查找记录 GO|GOTO 将记录指针移动到指定记录上 INSERT 插入记录 JOIN 将两个数据库文件合并 LIST 连续显示表或环境信息 LIST DATABASE 连续显示有关当前数据库的信息 LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录 MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库 MODIFY STRUCTURE 显示表设计器 MODIFY VIEW 显示视图设计器 OPEN DATABASE 打开一个数据库 PACK 从当前表中永久删除标有删除标记的记录 RECALL 恢复所选表中带有删除标记的记录SCAN...ENDSCAN 运行扫描数据表文件

vf常用命令(全)

命令结构 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为当前数据库。 指定当前的数据库: SET DATABASE TO [databasename] Databasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。 关闭数据库: CLOSE DATABASE [ALL] 关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。 二、数据表和视图的建立、打开、关闭和删除 建立数据表(SQL命令): CREATE 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|? 从当前打开的数据库中删除数据表:

VF常用命令和程序命令.

VF常用命令和程序命令一、主要命令: 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 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。格式:BROWSE 6、USE 作用:打开和关闭表文件。格式:USE [<文件名>] 说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。 7、LIST和DISPLAY 作用:显示表(.dbf的内容、结构或状态。格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>] LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>] 说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括: RECORD n第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件

VF常用命令

Vf常用命令 数据库文件及记录命令 ADD TABLE 在当前数据库中添加一个自由表 APPEND 在表的末尾添加一个或多个新记录 APPEND FROM ARRAY 由数组添加记录到表中 APPEND FROM 从一个文件中读入记录,追加到当前表的尾部 APPEND GENERAL 从文件中导入OLE对象并将其放入通用字段中 APPEND MEMO 将文本文件的内容复制到备注字段中 APPEND PROCEDURES 将文本文件中的存储过程追加到当前数据库中 AVERAGE 计算数值表达式或字段的算术平均值 BLANK 清除当前记录中所有字段的数据 BROWSE 打开浏览窗口,显示当前或选定表的记录 CALCULATE 对表中的字段或包含字段的表达式进行财务和统计操作 CHANGE 显示要编辑的字段 CLOSE 关闭各种类型的文件 CLOSE MEMO 关闭一个或多个备注编辑窗口 COMPILE DATABASE 编译数据库中的存储过程 CONTINUE 继续执行先前的LOCATE命令 COPY MEMO 复制当前记录中的指定备注字段的内容到文本文件 COPY PROCEDURES 将当前数据库中’的存储过程复制到文本文件 COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表 COPY STRUCTURE EXTENDED 创建新表,它的字段包含当前选定表的结构信息COPY TO ARRAY 将当前选定表中的数据复制到数组 COPY TO 用当前选定表的内容创建新文件 COUNT 统计表中记录数目

CREATE生成一个新的VisualFoxPro表 CREATE CONNECTION 创建一个命名连接并把它存储在当前数据库中 CREATE DATABASE 创建并打开一个数据库 CREATE TRIGGER 创建表的删除、插入或更新触发器 CREATE VIEW 从VisualFoxPro环境创建视图文件 DELETE 给要删除的记录做标记 DELETE CONNECTION 从当前数据库中删除一个命名连接 DELETE DATABASE 从磁盘上删除数据库 DELETE TRIGGER 从当前数据库的表中删除“删除”、“插入”或“更新”触发器│ DELETE VIEW 从当前数据库中删除一个SQL视图 DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息 DISPLAY CONNECTIONS 显示当前数据库中与命名连接有关的信息 DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息 DISPLAY MEMORY 显示内存变量和数组的当前内容 DISPLAY PROCEDURES 显示当前数据库中存储过程的名称 DISPLAY STRUCTURE 显示一个表文件的结构 DISPLAY TABLES 显示包含在当前数据库中所有的表和表的信息 DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息 DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它 DROP VIEW 从当前数据库中删除指定的SQL视图 EDIT 显示要编辑的字段 EXPORT 把VisualFoxPro表中的数据复制到其他格式的文件中 FIND 查找记录 FLUSH 将对表和索引所作的修改存入磁盘 FREE TABLE 删除表中的数据库引用

VF常用命令大全

VF常用命令和程序命令一、主要命令: 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 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。 格式:BROWSE 6、USE 作用:打开和关闭表文件。 格式:USE [<文件名>] USE 说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。 7、LIST和DISPLAY 作用:显示表(.dbf)的内容、结构或状态。 格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>] LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]

VF程序命令语句大全

VF常用命令和函数大全五、命令语句大全五、命令语句大全 ?在下一行显示表达式串 ?? 在当前行显示表达式串 @... 将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT 把一个字符串赋给内存变量 APPEND 给数据库文件追加记录 APPEND FROM 从其它库文件将记录添加到数据库文件中 AVERAGE 计算数值表达式的算术平均值 BROWSE 全屏幕显示和编辑数据库记录 CALL 运行内存中的二进制文件 CANCEL 终止程序执行,返回圆点提示符 CASE 在多重选择语句中,指定一个条件 CHANGE 对数据库中的指定字段和记录进行编辑 CLEAR 清洁屏幕,将光标移动到屏幕左上角 CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表 CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量 CLEAR MEMORY 清除当前所有内存变量 CLEAR PROGRAM 清除程序缓冲区 CLEAR TYPEAHEAD 清除键盘缓冲区 CLOSE 关闭指定类型文件

CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE 命令后出现。无LOCATE则出错 COPY TO 将使用的数据库文件复制另一个库文件或文本文件 COPY FILE 复制任何类型的文件 COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件 COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中 COUNT 计算给定范围内指定记录的个数 CREATE 定义一个新数据库文件结构并将其登记到目录中 CREATE FROM 根据库结构文件建立一个新的库文件 CREATE LABEL 建立并编辑一个标签格式文件 CREATE REPORT 建立宾编辑一个报表格式文件 DELETE 给指定的记录加上删除标记 DELETE FILE 删除一个未打开的文件 DIMENSION 定义内存变量数组 DIR 或 DIRECTORY 列出指定磁盘上的文件目录 DISPLAY 显示一个打开的库文件的记录和字段 DISPLAY FILES 查阅磁盘上的文件 DISPLAY HISTORY 查阅执行过的命令 DISPLAY MEMORY 分页显示当前的内存变量 DISPLAY STATUS 显示系统状态和系统参数 DISPLAY STRUCTURE 显示当前数据库文件的结构 DO 执行FoxBase程序 DO CASE 程序中多重判断开始的标志 DO WHILE 程序中一个循环开始的标志

vf常用命令

本资料所用到的表及其结构如下: 图1 学生表.dbf 结构 图2 选课表.dbf 结构

图3 课程表.dbf 结构 1 本资料所用到的表及其结构如下: 图1 学生表.dbf 结构 图2 选课表.dbf 结构 图3 课程表.dbf 结构 2 1、设置工作目录:set default to 命令格式:set default to <目录名> 命令功能:设置vfp系统默认的工作目录(文件夹),以后存取文件均以该文件夹作为 默认文件夹。 实例1:set defa to d:\data练习:打开vfp,然后观察此时的默认工作目录;再在D盘新建一文件夹:test,并设置 该文件夹为vfp的默认工作目录。 2、赋值语句:Store 、= Store格式:Stroe <表达式> to <内存变量名表> 功能:将表达式的值赋给内存变量名表中的变量。 实例1:store 100 to a1, a2 , b, c, num =格式:<变量名>=<表达式> 功能: 注意:表达式与变量名顺序不能写反了。 3、输出命令:? 、??

命令格式1:?<表达式列表> 命令格式2:??<表达式列表> 4、定义数组命令:dimension、declare 命令格式:dimension/declare <数组名1>[<下标上界1>[,<下标上界2]…] 命令功能:定义一维数组或二维数组,每一维的下标一般从1 开始。 实例1:Dimension A(20),B(3,2) B(1,1)=10 B(1,2)=20 B(2,2)=30 B(6)=40 ? B(1,1), B(1,2), B(2,2), B(3,2) 实例2:Dimension sz1(20),sz2(3,2) Store 10 to sz1 store “警察学院”to sz2(1,1) sz2(3,2)=.F. sz(2,1)=3.14159 如果数组元素没有赋值,则默认值为.F. 历史考题:语句DIME TM(3,5)定义的数组元素的个数是()(15) 练习:定义一个4 行5 列的二维数组,数组名为Arr1,给元素赋值(第一个元 素值为10,第四个元素值为20,第七个元素值为”hello”,最后一个元素 值为888)。 5、打开/关闭表命令:use 、close all 命令格式1:use<表文件名>[ exclusive | shared] 命令功能:以独占或者共享方式打开指定的表(默认方式是exclusive(独占)),如果只 3 是单独的use命令,则关闭当前表。 实例1:use D:\data\学生表shared 实例2:set default to d:\data use 学生表 实例3:use 练习:以独占的方式打开d:\data 里的教师表.dbf,然后关闭该表。 命令格式2:close all 命令功能:关闭所有的表及释放所有的内存变量。 6、查看记录命令:list/display 命令格式:list/display[范围][fields<字段名>][for<条件表达式>][to printer][to file<文 件名>][off] 命令功能:在工作区窗口显示当前表中的记录,list默认范围是all,若一屏显示不下,也不会暂停,直到显示完最后一条记录;display 默认范围是当前记录, 如果使用display all,则分屏显示。 注意[范围]参数可以是: all 表示全部记录

VF-命令一览表

VF 命令一览表 一、命令 https://www.wendangku.net/doc/345908383.html,e 表名打开表 2.List 显示表记录,但不能修改 3.browse 浏览表记录,可以修改 4.display 显示记录指针指向的记录 5.append 追加记录 6.append blank 追加空白记录 7.insert blank 插入空白记录 8.delete 逻辑删除记录,记录前出现星号 9.pack 物理删除,将逻辑删除的记录彻底删除 10.recall 记录恢复 11.zap 删除表里的所有记录 12.go n 指向第n 条记录 13.go top 指向第一条记录 14.go bottom 指向最后一条记录 15.skip n 往下跳n 条记录 16.skip -n 往上跳n 条记录 17.? 从屏幕的下一行的第一列起显示结果 18.? ? 从当前行当前列起显示结果 https://www.wendangku.net/doc/345908383.html,e sb copy to sb() 复制sb 表给sb()表 20.recno() 记录号函数 21.bof() 上溢出 22.eof() 下溢出 23.dimension x(4) 定义数组x,里面有四个元素,其中每个元素的默认值为.F. declare 和dimension 相同 24.replace 替换 25.add 表示增加字段 26.distinct 不重复记录 27.error 错误 28.continue 继续 29.else if 否则 30.column 列 31.input 显示数值 32.accept 显示字符串 33.wait 是弹出的一个信息框 34.drop 删除字段或删除表 35.otherwise 其它情况 36.check 规则 37.cursor 临时表 38.build 连编 二、VF 里文件类型 1.项目.pjx project 2.数据库.dbc database 3.表.dbf table 4.菜单.mnx .mpr menu 5.程序.prg 6.表单.scx form 7.报表.frx report 8.查询.qpr query 9.视图.vue view 10.文件.txt 11.备注型

VF常用操作

界面介绍2674734 (1)标题栏:还原/最大化/关闭VF窗口 关闭窗口的命令:QUIT或ALT+F4 (2)菜单打开方法:ALT+菜单字母 鼠标单击 (3)快捷工具栏:菜单栏中常用功能 (4)空白工作区:显示操作结果 (5)命令窗口:CTRL+F4隐藏 CTRL+F2显示 (6)状态栏:显示操作状态 2、建表 (1)VF有两种工作方式:命令方式(笔试)菜单方式(2)建表操作: ?命令窗口:CREATE 表名 ?文件?新建?表?输表名?保存 注:?切换输入法:CTRL+SHIFT ?开/关输入法:CTRL+SPACE

?VF中用英文/半角状态 实例:建立工资表 (1)CREA 工资 (2)输入字段名职工号,选择字段类型,选字符型,设置宽度为4。 ?字段类型介绍 字符型 C:汉字、字母等。 数值型 N:年龄、工资等。 逻辑型 L:只有是和否的区别,如婚否。 日期型 D: 备注型 M:内容较多时选择M型。 通用型 G:存放声音图片等。 货币型 Y:表示金额等,默认四位小数 整型 I:四位整数 日期时间型T: 继续输入字段: 姓名,C6 性别,C2 年龄,N2.0 工资,N7.2:长度是整数位+1+小数位 婚否,L:默认为1 出生日期,D:默认为8

简历,M:默认宽为4 全输入完毕后,单击确定,系统问: 现在输入记录吗?否 职工号姓名性别年龄工资婚否出生日期简历 注:表文件默认扩展名是.DBF,同时生成与表同名扩展名是.FPT的文件用来存放备注内容。 (3)打开表 USE [表名] 注:只打USE是关闭表,CLOSE ALL是关闭所有文件,CLEAR 清屏。 (4)向表中追加记录 APPEND [BLANK] 注:加BLANK表示添加空记录。 注:输入记录时日期格式月/日/年, 双击memo可以输入备注内容,CTRL+W保存 (5)显示记录 DISPLAY|LIST [范围][条件][字段] DISP:只显示当前一条记录 LIST:显示所有记录 (6)记录指针移动 GO 记录号或GOTO 记录号 SKIP +N或SKIP –N

VF常用函数总结

? 在下一行显示表达式串 ?? 在当前行显示表达式串 @... 将数据按用户设定的格式显示在屏幕上或在打印机上打印 ACCEPT 把一个字符串赋给内存变量 APPEND 给数据库文件追加记录 APPEND FROM 从其它库文件将记录添加到数据库文件中 AVERAGE 计算数值表达式的算术平均值 BROWSE 全屏幕显示和编辑数据库记录 CALL 运行内存中的二进制文件 CANCEL 终止程序执行,返回圆点提示符 CASE 在多重选择语句中,指定一个条件 CHANGE 对数据库中的指定字段和记录进行编辑 CLEAR 清洁屏幕,将光标移动到屏幕左上角 CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区 CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表 CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量 CLEAR MEMORY 清除当前所有内存变量 CLEAR PROGRAM 清除程序缓冲区 CLEAR TYPEAHEAD 清除键盘缓冲区 CLOSE 关闭指定类型文件 CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。无LOCATE则出错 COPY TO 将使用的数据库文件复制另一个库文件或文本文件 COPY FILE 复制任何类型的文件 COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件 COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中 COUNT 计算给定范围内指定记录的个数 CREATE 定义一个新数据库文件结构并将其登记到目录中 CREATE FROM 根据库结构文件建立一个新的库文件 CREATE LABEL 建立并编辑一个标签格式文件 CREATE REPORT 建立宾编辑一个报表格式文件 DELETE 给指定的记录加上删除标记 DELETE FILE 删除一个未打开的文件 DIMENSION 定义内存变量数组 DIR 或DIRECTORY 列出指定磁盘上的文件目录 DISPLAY 显示一个打开的库文件的记录和字段 DISPLAY FILES 查阅磁盘上的文件 DISPLAY HISTORY 查阅执行过的命令

vf基本命令

FOXBASE+命令全集 一.数据库相关的命令 1.退出命令:格式:QUIT 功能:退出FOXBASE+系统。 2.建立数据库:格式:CREATE <数据库文件名> 功能:建立数据库文件 3.显示数据结构:格式:LIST STRUCTURE 或DISPLAY STRUCTURE 功能:显示当前库的构。 4.修改数据库结构;格式;MODIFY STRUCTURE 功能:修改数据库结构。5.打开数据库;格式:USE [数据库文件名[ALIAS<别名>]] 6.追加记录:APPEND [BLANK] 7.插入记录:INSERT [BEFORE][BLANK] 8.从文件追加记录: APPEND FROM <数据库文件名>[FOR<条件>][FIELDS<字段名清单>][范围] 9.显示记录:LIST [范围][FOR |WHILE<条件>][FIELDS<字段名清单 >][OFF][TO PRINT] DISPLAY [范围][FOR |WHILE<条件>][FIELDS<字段名清单>][OFF][TO PRINT] 10.记录指针移动:绝对移动:GO|GOTO <数值表达式> |TOP |BOTTOM 相对移动:SKIP [数值表达式] 11.修改记录: EDIT [范围][FIELDS<字段名清单>][FOR|WHILE<条件>] GHANGE [范围] [FIELDS<字段名清单>] [FOR|WHILE<条件>] REPLACE [范围]< 字段名1> WITH <表达式1>。。。。[FOR|WHILE<条件>] BROWSE [FIELDS<字段清单>][LOCK<数值表达式>][FREEZE<字段名>] [NOMENU] [NOAPPEND] [NOMODIFY] [WIDTH<数值表达式>] [NOFOLLOW]

(打印)VF常用命令

VF中的常用命令 简单连接查询格式:(查询的内容以及条件涉及到多个表) Select 字段名1,字段名2,字段名3 from 表名1,表名2,表名3 ; where 条件 and 表名1.公共字段名=表名2.公共字段名 and 表名2.公共字段名=表名3.公共字 段名 ; group by 字段名1,字段名 2 having 分组条件 order by 字段名 1 desc,字段名 2 into table 表名 嵌套查询的格式:(查询的字段只来自于表1 条件却涉及到表2) Sele 字段名 from 表 1 where 公共字段名 in(sele 公共字段名 from 表 2 where 条件) order by 字段名; Into table 表名 Where 条件(多指一般条件例如性别=”女”工资>=1220) Having 条件(多指函数作为条件例如 count(职工号)>=2 sum() avg() ....) 插入:insert into 表名(字段名1,字段名2……) values(字段值1,字段值2…… ) 插入表中部分字段 insert into 表名 values(字段值1,字段值2……) 插入表中所有字段 操作 insert into 表名 from array 数组名 功能使用SQL语句将一条新的记录插入学院表。Insert into 学院(系号,系名) values ("04" ,"计算机" ) 更新:update 表名 set 要修改的字段名=新值 where 条件 使用SQL语句完成以下操作(将所有教授的工资提高5%) update 教师SET工资=工资 * 1.05 where 职称="教授" 删除:delete from 表名 where 条件 逻辑删除成绩表中总分在240分以下的学生记录 delete from 成绩表 WHERE 总 分<240 格式:create table 表名(字段名1 类型(宽度),字段名2 类型(宽度),……) 建表例子:create table 职工表1(仓库号 c(3),职工号 c(4) primary key,; 工资 I check工资>=1000 and 工资<=2000; 定error "工资的范围在1000到2000之间" default 1500,foreign key 仓库号 tag 仓库号 reference 仓库表1) 义常用词:主索引:primary key 规则:check 信息:error 默认值:default 功删除表:drop table 表名(物理删除) 能增加字段:alter table 表名add column 字段名类型(宽度)check规则 error 信息 default 默认值 增加字段修改字段类型:alter table 表名 alter column 字段名类型(宽度) 重命名字段名:alter table 表名 rename column 原字段名 to 新名 删除字段:alter table 表名 drop column 字段名 修改表结构定义或修改字段有效性:alter table 表名alter字段名set check 规则 error 提示信息 alter table 表名 alter 字段名 set default 默认值 删除字段有效性:alter table 表名 alter 字段名 drop check alter table 表名 alter 字段名 drop default 用SQL命令建立候选索引:alter table 表名 add unique表达式 tag 索引名(重 点)

vf基本命令

VF基本命令整理 (里面打开表的步骤都省略了请大家注意)·赋值: S=”ajshdjas” Store 2*3 to a,b,c 将2*3的值赋给内存变量a,b,c ·内存变量的保存与还原 保存:Save to 文件名[additive] 还原:restore from 文件名[additive] 例SAVE TO abc CLEAR MEMORY sb=DATE() RESTORE FROM abc additive(此处additive不能省略,否则上面内存变量会消失) CLEAR DISPLAY MEMORY like DISPLAY MEMORY LIKE sb sb pub d 04/29/16 ·内存变量的释放 Release 变量名 release A 释放变量A ·数组赋值:Dimension 数组名(<下标1>[,<下标2>]) Dimension a(3) a(1)=sb A(2)=10

? A(1) ? A(2) Sb,10 ·取整函数:int ? Int(35.78) 35 ·取模函数:mod(<被除数>,<除数>) ? Mod(11,5) 1 ·四舍五入函数round(<数值表达式1>,<数值表达式2>) 数值表达式2是指保留几位 ? Round(154.1531,1) 154.2 X=1055.25 ? Round(x,-2) 1100 ·平方根函数:sqrt() ? Sqrt(9) 3 ·绝对值函数:abs() ? Abs(-8) 8 ·指数函数:exp() 是以e为底的指数函数 ? Exp(10) e^10=22026.47 ·正弦函数:sin(数值表达式)数值表达式的值以弧度为单位180°(度)=π(弧度) 求30°的正弦 ? Sin(π/6) 1/2 ·最大值函数max()

相关文档