1、Visual FOXPRO中的常用命令和函数Visual FOXPRO中的常用命令命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。如:LIST 范围 FIELDS 字段名列表 FOR 条件WHILE 条件 OFF TO PRINT常用子句 范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录; NEXT n 表示从当前记录开始的以下n条记录; RECORD n 表示第n号记录; REST 表示从当前记录到最后一条记录。 FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。 FOR条件:对满足条件的记录进行操作。WHILE 条件:当遇到第一个
2、不满足条件的记录时,停止命令执行。 以下命令中,大写的英文词为关键词,必须原样照写。“常用子句”指以下几个可选子句:范围 FIELDS 字段名表 FOR 条件 WHILE 条件命令中的“列表”,指用“,”分隔的各项。如“字段名列表”就是将各个字段名用逗号分隔。部分英文词的意义:Databasename 数据名 tablename 数据表名 filename 文件名 Viewname 视图名 arrayname 数组名 一、数据库的建立、打开、关闭和删除 建立数据库: CREATE DATABASE databasename|? .DBC .DBT从磁盘中删除数据库: DELETE DATABA
3、SE databasename|?打开数据库: OPEN DATABASE EXCLUSIVE|SHAREDNOUPDATE打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE databasename|?指定的数据库databasename为当前数据库。指定当前的数据库:SET DATABASE TO databasenameDatabasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。关闭数据库:CLOSE DATABASE ALL关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。二
4、、数据表和视图的建立、打开、关闭和删除 建立表文件:CREATE 表文件名 .DBF .FPT建立数据表(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,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。向当前打
5、开的数据库中添加数据表:ADD TABLE tablename|?从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? DELETE如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。在当前打开的数据库中建立视图:CREATE SQL VIEW viewname AS SELECT 其中SELECT 为SELECT查询语句。执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。从当前打开的数据库中删除视图:DELETE VIEW viewname打开一个表:USE tablename|? IN 工作
6、区号将当前数据表与另一数据表连接后建立一个新表:JOIN WITH 工作区号|表别名 TO tablename FOR 条件 FIELDS 字段名表三、数据表和表结构的编辑、修改 打开浏览窗口(可在其中编辑数据表):BROWSW(详细格式见P. 114116)打开并修改数据表中的字段:(1) CHANGE FIELDS 字段名列表(2) EDIT FIELDS 字段名列表这两个命令的功能相似,可选子句较多,可了解。数据表改名:RENAME TABLE tablename1 TO tablename2其中数据表tablename1必须存在且未打开。视图改名:RENAME VIEW viewnam
7、e1 TO viewname2其中数据表tablename1必须存在且未打开。修改数据表结构:MODIFY STRUCTRUE修改数据表结构(SQL命令):ALTER TABLE tablename ADD 字段名 Type NULL | NOT NULL,字段名 Type NULL | NOT NULLALTER COLUMN字段名Type NULL | NOT NULL,字段名Type NULL | NOT NULL. DROP字段名,字段名, .将当前表与另一表之间建立关联:SET RELATION TO 表达式1 INTO 工作区号1 | 表别名1, 表达式2 INTO 工作区号2 |
8、 表别名2 , .建立关联的两个表必须事先已按关联表达式进行索引排序。在当前表与另一表之间建立一对多关联:SET SKIP TO表别名1, 表别名2消除当前表与另一表之间的关联:SET RELATION OFF INTO 工作区号 | 表别名四、数据表中数据操作(查询、插入、删除和修改等) 数据查询SELECT语句(SQL命令)格式见教材的有关章节。这是本课程的重点内容,必须很好地掌握。更改数据表中的记录:REPLACE 字段1 WITH 表达式1ADDITIVE, , WITH ADDITIVE, FOR 条件1WHILE条件2其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字
9、段的末尾。用内存数组的值更新数据表中的记录: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命令):
10、DELETE FROM databasename!tablename WHERE 条件给记录加删除标记:DELETE 范围 FOR 条件 WHILE 条件IN 工作区号|表别名永久删除加了删除标记的记录:PACK永久删除打开的数据库中加了删除标记的记录:PACK DATABASE去掉删除标记(恢复) RECALL 常用子句删除一个表中所有记录(保留表的结构):ZAP IN tablename|alias为数据表文件追加记录:APPEND BLANKIN 工作区号|别名从另一个文件中提取数据添加到当前数据表的尾部:APPEND FROM filename|? FIELDS 字段名列表 FOR 条
11、件其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。用内存数组的值添加到当前数据表的尾部:APPEND FROM ARRAY arrayname FOR 条件FIELDS字段名列表数据中的一行对应一个新记录,一列对应一个字段。从一个文件输入一个OLE对象放入一个通用(general)字段 :APPEND GENERAL 通用字段名 FROM filename如果省略子句FROM filename,则将指定的字段清空。将一个文本文件的内容拷贝到一个备注字段 :APPEND MEMO 备注字段名 FROM filenam
12、eOVERWRITE如果省略子句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子句,则用同名的内存变量给字段赋值。清除当前记录中字段
13、的数据:BLANK 常用子句移动记录指针:SKIP n IN 工作区号|表别名五、文件管理(文件和文件夹的复制、创建和删除) 从当前表复制出表或其它类型的文件(表须打开):COPY TO filename FIELDS 字段名列表 常用子句 其它子句 如果没有指定类型,则复制一个与当前的表相同的数据表。复制表的结构:COPY STRUCTURE TO filename FIELDS字段名列表复制任何文件:COPY FILE 源文件 TO 目的文件如果用此命令复制表,表须关闭从磁盘上删除任意文件:(1)ERASE filename|? (2)DELETE FILE filename|?任意文件改
14、名(或文件移动到另一文件夹):RENAME filename1 TO filename2其中filename1和filename2都可以包含路径。如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。显示一个文件夹中的文件信息:DIR | DIRECTORY ON drive从磁盘上删除一个文件夹:RD | REDIR 文件夹名在磁盘上建立一个文件夹:MD | MKDIR文件夹名六、数据的复制与传送 单个记录与数组间的数据传送 当前记录 数组或内存变量: SCATTER FIELDS字段名列表MEMOTO 数组名 BLANK | MEMVAR BLANK其中BLAN
15、K表示建立一个空元素的数组。如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。如果包含MEMO子句,则备注字段一起复制。数组或内存变量 当前记录: GATHER FROM 数组名 | MEMVAR FILEDS字段名列表 MEMO用同名的内存变量或数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。成批记录与数组间的数据传送 表 数组: COPY TO ARRAY arrayname 常用子句 数组 表:(1) APPEND FROM ARRAY arrayname FOR 条件FIELDS字段名列表用内存数组的值加在数据表的尾部,数据中的一行对应一个新记录,一列对应一个字段。 (2) REPLACE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1