foxpro 部分命令和函数的使用方法
(完整版)VFP常用命令详解
VFP常用命令详解VFP命令、函数及程序语句大全(1)VFP命令是一种实现对数据库系统进行操作的动词或短语.VFP命令可在VFP命令窗口中单独运行,也可编制成程序成批运行,由命令和函数编制的程序可对数据库系统进行自动、复杂的操作,使数据库系统应用起来更加友好、方便.¨VFP常用命令分类表¨命令格式VFP命令一般由命令动词和控制短语构成。
一般格式:命令动词[FROM〈源文件>][TO〈目标文件〉][记录范围][FOR/WHILE<条件〉][FIELDS〈字段名表>][ ]表示可选,<〉表示必选, / 表示或选例如:(1)APPEND FROM C:\RSDA.DBF FOR 基本工资〉100 FIELDS 编号,姓名,职称,基本工资。
从C:\RSDA.DBF 表中把基本工资大于100元的记录添加到当前表添加字段为:编号,姓名,职称,基本工资。
(2)COUNT FOR 职称=”高工"TO GG 统计高工的记录数到内存变量GG。
控制短语规定了对数据库操作的限制条件:1。
指向输入输出目标FROM/TOAPPEND FROM,COPY FILE TO 〈目标文件〉2.限制记录范围(SCOPE)ALL 所有记录NEXT<n> 本记录后的第几个记录RECORD<1> 第1个记录REST 当前记录之后所有记录3。
选择字段FIELDS〈字段表〉选择输入/输出的字段.4.限制条件FOR/WHILE〈条件>FOR 基本工资>100 。
AND.基本工资<200¨命令格式规则命令的行为单位,一行书写不完,在未尾加上“;”第二行接着写。
必须以命令动词开头,动词后的短语顺序不限.命令中大小写字母等效。
命令动词和关键字可以只写前4个字符。
不得用命令动词或关键字作为自定义变量、函数、程序名.一.表结构的操作1.创建表结构命令1:CREATE [路径][表名]例子:在A盘创建GZ2数据表。
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作用:打开和关闭表文件。
格式: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后跟字段名,字段名与字段名之间用逗号分隔。
VFP常用编程命令及常用函数
VFP常用编程命令及常用函数VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。
常用命令假设(if...endif) 循环(dowhile...enddo)分支(docase...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。
语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。
备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。
then可以有也可以没有,对程序没有影响。
else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。
if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。
举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。
VFP表达式、函数的使用,
《计算机应用基础》期末考试准考证号:11216101110+学号后4位上机内容:第一部分:函数一、数学函数1、INT( )功能:取整。
例如:?INT(3.4) 32、?ROUND( )功能:四舍五入例如:?ROUND(2005.789,2) 2005.793、MOD( )功能:取模整数例如:?MOD(69,-5) -44、MAX/MIN()功能:最大值最小值例如:?MAX (3.78,5,0),MIN(-6,-8,-9) 5 -95、ABS( )功能:绝对值例如:?ABS(-3.89) 3.896、SQRT( )功能:平方根函数例如:?SQRT(4) 27、EXP( )功能:指数函数例如:?EXP(0) 18、RAND( )功能:随机取数例如:?(9-8)*RAND(8)+9 9.179、ALLTRIM()功能:取消字符表达式中的前后空格例如:?ALLTRIM("好好"+"学习") 好好学习10、LTRIM()功能:删除字符串前导空格函数例如:?"计算机"+LTRIM( "实用技术")计算机实用技术11、TRIM()功能:删除字符串尾部空格函数例如:?trim("他")+"你"12、LEFT()功能:取左子串函数例如:?LEFT(“ABCDEF”,2) AB13、RIGHT()功能:取右子串函数例如:?RIGHT(“ABDCE”,2) CE14、SUBSTR()功能:取子串函数例如:?SUBSTR(2,3,4) 315、LEN()功能:字符串长度函数例如:?LEN("I AM LILEI") 10 16、APACE()功能:空格函数例如:?"白痴"+SPACE(2+2)+"崔哥"白痴崔哥17、STUFF()功能:字符串替换函数例如:?STUFF("浙江万里学院",5,0,"宁波") 浙江宁波万里学院18、TIME()功能:日期时间例如:?TIME() 11:20:4519、 DATE()功能:显示日期例如:?DATE() 12/20/1120、DATETIME()功能:显示日期时间例如:?DATETIME() 12/20/11 09:07:0221、YEAR()功能:显示年份例如:?YEAR() 12/20/1122、DAY功能:日期函数例如:?day() 12/2023、MONTH/CMONTH( )功能:月份。
VFP基本命令与常用函数_1
Visual FoxPro基本命令与常用函数第一部分基本命令准备知识:1、范围选项的常用表示词(表中的若干行)ALL 所有记录REST 从当前记录到最后RECORD N 第N条记录NEXT N 从当前记录开始到剩余的N条记录。
2、字段选项的常用形式(表中的若干列)FIELDS 字段名表字段名表是指表中的第一行各列,就是表中的列标题。
如:FIEL 姓名,籍贯,奖学金3、FOR 条件条件表达式可以是关系表达式或者逻辑表达式。
关系表达式:<表达式1> <关系运算符> <表达式2>关系运算符有8种:>、>=、<、<=、=、==、<>或#或!=逻辑表达式:!、NOT、AND、OR、.T. 、.F.命令动词总结以命令动词为主要标准分析:1、DISP LIST两个命令动词都是显示的意思,DISP表示分屏显示,LIST表示连续显示。
形式1:DISP 显示当前记录LIST 显示所有记录(连续)形式2:DISP STRU表结构的显示(分屏)LIST STRU表结构的显示(连续)形式3:DISP 范围FIELDS 字段名表FOR条件根据选项显示记录LIST 范围FIELDS 字段名表FOR条件根据选项显示记录2、CREATECREATE 表文件名创建一个新的Visual FoxPro表3、MODIFYMODIFY STRUCTURE 修改当前打开表的结构4、CLEAR形式1:CLEAR 清除屏幕内容形式2:CLEAR ALL 关闭所有打开的表5、CLOSE形式1:CLOSE TABLE 关闭当前打开的表形式2:CLOSE ALL 关闭所有打开的表6、APPENDAPPE BLANK 在表的尾部追加一条空白记录。
7、INSERT形式1:INSERT BLANK 在当前记录之后插入一条空白记录形式2:INSERT BEFORE BLANK 在当前记录之前插入一条空白记录8、GO 绝对定位形式1:GO N 去第N条记录形式2:GO TOP 去表的顶端GO BOTTOM 去表的尾部9、SKIP 相对定位SKIP +N 以当前记录为基准向下移动N条SKIP -N 以当前记录为基准向上移动N条10、LOCATE 条件定位LOCATE FOR 条件范围根据给定的条件,搜索满足条件的数据。
FOXPRO中常用命令与函数
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,使用时自动随相应的数据表同时打开。
一个结构复合索引文件中可包含多个索引标识符。
vfp中的常用函数与命令
VFP常用的命令和函数1.数据库操作语言使用可以CLOSE 命令关闭各种类型的文件。
DBC( ) 函数返回当前数据库的名称和路径。
SQLCANCEL( ) 函数请求取消一条正在执行的 SQL 语句。
SQLCOMMIT( ) 函数提交一个事务处理。
SQLCONNECT( ) 函数建立一个对数据源的连接。
SQLDISCONNECT( ) 函数完毕一个对数据源的连接。
SQLEXEC( ) 函数发送一条 SQL 语句到数据源中处理。
SQLGETPROP( ) 函数获取一个活动连接的当前设置。
SQLMORERESULTS( ) 函数如果存在多个可用的结果集,则将另一个结果集复制到Visual FoxPro 临时表(cursor)中。
SQLROLLBACK( ) 函数取消当前事务处理期间所做的任何更改。
SQLSETPROP( ) 函数指定一个活动连接的设置。
SQLSTRINGCONNECT( ) 函数使用一个连接字符串建立与数据源的连接。
TABLEREVERT( ) 函数放弃对缓冲行、缓冲表或临时表(cursor)的修改。
TABLEUPDATE( ) 函数提交对缓冲行、缓冲表或临时表(cursor)适配器的修改。
字段操作语言使用可以BLANK 命令清除字段中的数据。
DELETED( ) 函数指出一个记录是否被标记为删除。
FCOUNT( ) 函数返回一个表中的字段数量。
FIELD( ) 函数根据编号返回表中的字段名。
GATHER 命令用来自指定源的数据替换记录中的数据。
SCATTER 命令从当前记录中复制数据到指定的目标。
SET EXACT 命令指定比较不同长度两个串时的规则。
索引操作语言使用可以INDEX 命令创建一个索引文件。
SET ORDER 命令指定表的主控索引文件或标识。
记录操作语言使用可以APPEND FROM 命令添加记录到一个表。
APPEND MEMO 命令复制一个文本文件的容到一个备注字段。
VFP常用命令、函数、属性、事件和方法
附录: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.APPEND在表的末尾添加一个或多个新记录。
11.APPEND FROM从一个文件中读入记录,添加到当前表的尾部。
12.GO/GOTO将记录指针移到指定记录上。
13.LOCATE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14.SEEK在一个表中搜索首次出现的一个记录。
15.SKIP使记录指针在表中向前或向后移动。
16.CONTINUE继续执行先前的LOCATE命令。
17.EDIT显示要编辑的字段。
18.DELETE给要删除的记录做标记。
19.DELETE-SQL给要删除的记录做标记。
20.PACK从当前表中永久删除有删除标记的记录。
21.RECALL恢复所选表中带删除标记的记录。
22.ZAP从表中删除所有记录。
23.INSERT-SQL在表尾追加一个包含指定字段值的记录。
24.REPLACE更新表的记录内容。
25.UPDATE-SQL以新值更新表中的记录。
26.SET EXCLUSIVE指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。
27.SET FILTER指定访问当前表中记录时必须满足的条件。
28.SET DELETED指定Visual FoxPro 是否处理标有删除标记的记录。
29.SET INDEX打开一个或多个索引文件,供当前表使用。
foxpro命令完整说明
一、内存变量常用命令1、赋值STORE <表达式>TO <变量名表><内存变量名>=<表达式>2、显示LIST|DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER[PROMPT]|TO FILE<文本文件名>]3、清除CLEAR MEMORY RELEASE <变量名表>RELEASE ALL [LIKE<通配符>|EXCEPT<通配符>]4、保存SA VE TO <内存变量文件名>[ALL LIKE|EXCEPT<通配符>]5、恢复RESTORE FROM <内存变量文件名> [ADDITIVE]二、表结构操作命令1、创建表CREATE <表名>2、修改结构MODIFY STRUCTURE3、显示结构LIST|DISPLAY STRUCTURE [TO PRINTER[PROMPT]|TO FILE<文本文件名>]4、复制结构COPY STRUCTURE TO <表名> [FIELDS<字段名表>] *生成表结构文件COPY STRUCTURE TO <表结构文件名> EXTENDED5、表结构文件还原成表结构CREATE <表名> FROM <表结构文件名>三、表记录操作命令1、表打开关闭USE <表名>CLOSE DA TABASES2、显示LIST|DISPLAY [OFF] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>][TOPRINTER[PROMPT]|TO FILE<文本文件名>]3、追加APPEND [BLANK]APPEND FROM <表名>4、插入INSERT [BLANK] [BEFORE]五修改替换EDITCHANGEBROWSEREPLEASE [范围] <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…][FOR<条件>] [WHILE<条件>]6、逻辑删除与恢复DELETE [范围] [FOR<条件>] [WHILE<条件>] RECALL [范围] [FOR<条件>] [WHILE<条件>]7、物理删除PACKZAP8、表文件复制COPY TO <表名> [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]9、指针定位绝对移动GO [TOP] [BOTTOM] [N]相对移动SKIP四、排序与索引命令一排序SORT TO <表名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C]…] [ASCENDING|DESCENDING] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>]2、建立索引单索引INDEX ON <索引表达式> TO <单索引文件名> [FOR<条件>] [UNIQUE] [ADDITIVE] [COMPACT]复合索引INDEX ON <索引表达式> TAG <标记名> [OF<复合索引文件名>][FOR<条件>] [ASCENDING|DESCENDING] [UNIQUE] [ADDITIVE]3、设置主控索引SET ORDER TO [<数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]4、打开索引文件SET INDEX TO [<索引文件名表>] [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING] [ADDITIVE]USE <表名> INDEX<索引文件名表> [ORDER <数值表达式>|<单索引文件名>|[TAG]<标记名>[OF<复合索引文件名>]] [ASCENDING|DESCENDING]5、索引文件更新REINDEX *删除索引DELETE TAG <标记名>|ALL [OF<复合索引文件名>]五、数据查询与筛选命令1、直接查询LOCATE [范围] [FOR<条件>] [WHILE<条件>]继续查找CONTINUE2、索引查询FIND <字符常量>|<数值常量> SEEK <表达式>继续查找SKIP3、筛选SET FILTER TO [<表达式>]六、统计命令1、记录个数COUNT [TO <变量名>] [范围] [FOR<条件>] [WHILE<条件>]2、求和SUM [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TO ARRAY <数组名>3、求平均值A VERAGE [<数值表达式表>] [范围] [FOR<条件>] [WHILE<条件>] TO <内存变量名表>|TOARRAY <数组名>4、分类汇总TOTAL ON <关键字> TO <表名> [FIELDS <数值字段名表>] [范围] [FOR<条件>] [WHILE<条件>]七、多工作区操作命令1、打开表USE <表名> [ALIAS<别名>] [IN<工作区号|工作区别名|表别名>] [AGAIN]2、工作区选择SELECT<工作区号>|<别名>|03、建立关联SET RELATION TO <关联表达式1> INTO <别名> [,<关联表达式2> INTO <别名>…][ADDITIVE]4、解除关联SET RELATION TOSET RELATION OFF INTO <别名>5、一对多关联SET SKIP TO [<别名1>[,<别名2>…]]6、连接命令JOIN WITH <别名> TO <表名> FOR<条件> FIELDS<字段名表>7、更新UPDA TE ON <字段名> FROM <别名> REPLACE <字段名1> WITH <表达式1>[,<字段名1> WITH <表达式1>…][RANDOM]八、程序设计内容1、建立程序MODIFY COMMAND <程序文件名>2、执行程序DO <程序文件名> [WITH <参数表>]3、注释语句NOTE*&&4、输入输出非定位输入WAIT ACCEPT INPUT 非定位输出???定位输入输出@行,列SAYGET(用GET时需要用READ)5、程序控制语句IF语句DO CASE语句DO WHILE语句FOR语句SCAN语句九、过程及过程调用——子程序1、定义: PROCEDURE<过程名>语句序列RETURN2、位置:在程序文件的末尾,或若干个过程组成一个文件,过程文件(常用方法)3、过程的调用DO 过程名[IN 文件名]4、打开关闭过程文件打开SET PROCEDURE TO <过程文件名>关闭SET PROCEDURE TOCLOSE PROCEDURE5、调用过程的查找顺序调用过程的程序文件SET PROCEDURE 命令打开的过程文件名为过程名的程序文件6、返回RETURNRETURN TO MASTERRETURN TO 过程名7、过程的参数传递PARAMETERS <参数表>它是过程中的第一句特点:加()按值传送(不改变主调用程序中的值)不加()按地址传送(改变主调用程序中的值)十、自定义函数——子程序的另一种形式1、定义FUNCTION <函数名>语句序列RETURN <表达式>2、调用格式自定义函数名(参数表)3、参数传递SET UDFPARMS TO V ALUE|REFERENCE*加括号按值FUN2((X),(Y))十一、内存变量作用域根据内存变量的作用范围分为全局变量,局部变量。
VFP常用命令函数程序汇总
常用命令函数程序汇总一、主要命令:1、CREATE 文件名作用:建立一个以.dbf为扩展名的新表。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。
只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
若为APPEND [BLANK]是指在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT作用:在表文件中间插入一个新记录。
若为INSERT [BEFORE] [BLANK],则INSERT表示在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
若为BROWSE [FIELDS <字段名表>],则表示看到所列字段名的字段内容。
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 <文件>]说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL所有的记录。
foxpro 部分命令和函数的使用方法
22. 过滤数据库,只显示满足条件的记录(如字段内容长度已有或超过255英文字符)
set filter to long="T" (参考21题)
23. 打开数据库文件,只允许对某一字段(如title)进行操作:
brow free title
24. 统计sentence字段中的空格数(可用来统计该字段中英文词数):
? "Sentence", ltrim(str(no)), "with", ltrim(stri(zishu)), "words"
效果如:Sentence 5 with 20 words.
26. 显示/返回去掉右空格的字符型内容:rtrim()
? rtrim(title)
27. loop 转到do while 语句
store occurs (" ", alltrim(sentence2) to n2
store occurs (" ", alltrim(sentence3) to n3
n=n1+n2+n3
repl zishu with n
skip
enddo
15. 建立复合型索引:
brow noedit 或 change noedit
brow nomodify nodelete
14. 在sentence字段中统计英语词的数量:
do while .not. eof()
store occurs (" ", alltrim(sentence) to n1
repl all 类别 with mline(text,1) (把text的第一行内容复制到"类别"字段)
Visual FOXPRO中的常用命令和函数
从另一个文件中提取数据添加到当前数据表的尾部:APPEND FROM filename|? [FIELDS字段名列表][ FOR条件]
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
从当前打开的数据库中删除视图:DELETE VIEW viewname
打开一个表:USE tablename|? [IN工作区号]
将当前数据表与另一数据表连接后建立一个新表:JOIN WITH工作区号|表别名TO tablename FOR条件[FIELDS字段名表]
建立单索引文件:INDEX ON表达式TO单索引文件名[FOR<条件>] [UNIQUE] [COMPACT] [ASCENDING][DESCENDING][ADDITIVE]
建立复合索引文件:INDEX ON表达式TO TAG索引名[OF复合索引文件名] [FOR条件] [UNIQUE|CANDIDATE]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构:COPY STRUCTURE TO filename [FIELDS字段名列表]
复制任何文件:COPY FILE源文件TO目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:(1)ERASE filename|?(2)DELETE FILE [filename|?]
从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]
如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
VFP函数和操作命令
•求整函数–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命令大全
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作用:打开和关闭表文件。
VFP常用命令及用法
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 条件]功能:对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。
foxpro常用命令
2.2 FoxPro的命令工作方式2.2.1 FoxPro的命令与命令子句1. FoxPro中的命令写法:以命令动词开头,后跟若干子句。
【例如】USE STULIST FOR 姓名=”张三” &&假定“姓名”为当前表中的字段名2. FoxPro的四种常用命令子句及相应的功能描述:(1)范围子句,用来指明当前的操作所涉及的记录范围。
(2)For条件子句,指明当前的操作只对指定范围中哪些符合条件的记录进行。
(3)While条件子句,指明当前的操作只对指定范围中哪些符合条件的记录进行。
(4)Fields字段子句,用以指明当前的操作涉及到库文件的哪些字段。
3. FoxPro的范围子句的四种写法:(1)ALL,表示对库文件的全部记录进行操作。
(2)NEXT <n>,表明对库文件中从当前记录开始的连续n条记录进行操作。
(3)RECORD <n>,指明操作对象是库文件的第n条记录。
(4)REST,指明对库文件中从当前记录起到文件尾的全部记录进行操作。
【例如】假定库文件STU.DBF中有20条记录,依次执行下列命令,指出输出结果:USE STU.DBFRECNO() && 显示1LIST && 显示全部记录LIST RECORD 3 && 显示第3条记录RECNO() && 显示3LIST NEXT 10 && 显示第3~12条记录(共10条)RECNO() && 显示12LIST REST && 显示第12~20条记录,从当前起至余下记录RECNO() && 显示21(此处为文件尾,无记录信息)4. FoxPro命令和子句的书写规则(1)以命令动词开头;(2)命令动词与子句、子句与子句间用空格间隔,各子句次序可任意调整;(3)命令动词与子句中的保留字(含函数名)都可简写为前4个字符,但不提倡;(4)一行对应一条命令,命令过长可用续行符“;”(分号)续行。
常用FOXPRO命令及函数的学习NEW
FOXPRO技术培训——常用命令及函数一、一些概念的理解1、数据库、表(DBF)存放数据的二维表,由很多条记录构成。
2、记录二维表的一个元素,也就是二维表的行。
记录时一个结构化的元素。
每条记录有一个号码,取当前记录的号码的函数是recno()3、字段二维表的列,field4、字段的值字段有它的类型,例如:char(25),number(14,2)5、命令中“范围”的用法这里的范围是指记录的范围,以下的关键字限定了不同的范围ALL 所有记录NEXT n 当前记录之后n条记录RECO n 第n条记录REST 当前记录之后的所有记录6、工作区的概念FOXPRO支持同时打开多个工作区(最多10个),每个工作区中只能打开一个dbf表格,放在工作区中打开的表就是激活了的表,可以对表的内容进行各种操作。
不同工作区间的表可以建立关联。
注意:工作区的别名为a、b、c、d、e………………例如:sele 1use biaozhunsele 2use stusele 1sele 2二、常用命令1、创建数据库及数据库结构的显示修改1)create <新数据库名>2)disp stru 显示当前数据库的结构3)modi stru 修改当前数据库的结构alter table new_stu add column kjkj char(50)2、打开及关闭数据库1)use <数据库名> 打开2)use <数据库名> inde <索引名> 打开数据库并同时打开索引3)use 关闭当前数据库4)close data 关闭所有工作区中打开的数据库和索引5)close all 关闭所有的内容回到初始状态(注:此命令不会改变默认路径)3、查询1)查询并可以编辑查询结果的命令(单个数据库查询,使用前必须先打开数据库) brow fiel <>,<>,<>,…… for <条件子句>2)SQL查询语句(单个数据库查询,多个数据库查询,使用时不需要先打开数据库)select * from table_name where <条件字句>select field1,field2,…… from table_name where <条件子句>select 数据库别名1.字段名 or 字段函数 [as 字段别名],数据库别名2.字段名or 字段函数 [as 字段别名],……from 数据库名1 数据库别名1,数据库名2 数据库别名2 where 数据库别名1.关联字段名=数据库别名2.关联字段名[and <条件子句>][group by 分组字段名][having 分组筛选条件] having 与group by 配合才可使用[order by 排序字段][into dbf TABLE_NAME]4、对表中记录的各项操作1)修改记录repl <范围(缺省为当前记录)> <字段名1> with <表达式1>,<字段名2> with<表达式2> for <条件字句>例如:use sturepl all sno with allt(sno)update <数据库名> set <字段名1>=<表达式1>,<字段名2>=<表达式2> where <条件子句>例如:update stu set sno=allt(sno)2)复制记录copy to <新文件名> fiel <字段名1>,<字段名2>……for <条件子句> 3)增加、删除记录Appe blank &&在当前表的末尾添加一个空记录,然后可以使用brow命令编辑新记录。
VFP命令及函数
1、*和&&命令功能:注释说明P26*:将整个命令行定义为注释内容,且必须为命令行第一个字符&&:对所在行命令进行注释说明,用于命令后面2、?和??命令功能:显示表达式的值P26?:换行??:不换行3、clear命令P27功能:清除当前VFP主窗口中的信息,下次显示信息时从窗口的左上角开始语法格式:clear4、dir命令P27功能:显示文件夹中文件的信息语法格式:dir[文件路径][支持通配符的文字说明]例:dir&&显示当前目录中扩展名为.dbf的表文件dir *.prg&&显示当前目录中扩展名为.prg的文件dir c:\windows\s*.txt&&显示c盘文件夹中以s字符开头的.txt的文件5、md/rd/cd命令P27md功能:创建文件夹rd功能:删除文件夹cd功能:改变当前工作目录语法格式:md//rd/cd 路径或目录例:md c:\vfp &&在d盘目录中创建一个名为vfp的文件夹cd c:\vfp &&将默认的工作目录更改为指定的目录md tsgl&&在d盘vfp文件夹中创建一个名为tsgl的文件夹rdtsgl&&删除d盘vfp文件夹中名为tsgl的文件夹6、copy file/rename/delete file命令P27copy file功能:复制文件rename功能:对文件进行重命名delete file功能:删除文件语法格式:copy file 文件1 to 文件2rename 文件1 to文件2(rename可以在改名的同时进行文件的移动)delete file 文件名[recycle] 是否将所选文件放入回收站7、run命令功能:执行程序P28语法格式:run [/n] 程序名(不用加后缀名)/n表示不需要等待该命令执行结束即可以执行另一个windows应用程序8、quit命令功能:结束当前VFP的命令P2810、给内存变量赋值:(一个简单内存变量使用之前不需要事先定义或声明)P38语法格式:内存变量名= 表达式&&一次只能给一个内存变量赋值Store 表达式= 内存变量名&&同时给多个内存变量赋相同值11、数组的声明P39语法格式:dimension/declare 数组名(行数[,列数])12、数组的赋值P39(1)每个数组元素的默认值为.F.(2)用赋值命令可分别为各数组元素赋值,也可为数组名赋值(3)b=123 &&对数组b的所有元素赋以12313、内存变量的显示P40语法格式:list/display memory [like ]功能:显示内存变量的当前信息区别:如果内存变量一屏显示不下时,list memory会自动向上滚动,display memory会显示一屏后暂停,按任意键之后继续显示下一屏14、内存变量的保存P40语法格式:save to 文件名[all like /all except ]功能:将内存变量保存到内存变量文件中filename默认扩展名为.mem15、内存变量的恢复P40语法格式:restore from 文件名[additive]功能:将内存变量文件中所保存的内存变量恢复到内存若使用additive,则当前已存在的内存变量仍保留,否则当前内存中的简单内存变量被清除16、设置字符排序序列P43语法格式:set collate to machine/pinyin/strokeMachine:空格<大写字母<小写字母<拼音<笔画Pinyin:英文:空格<a<A<b<B;汉字:按拼音Stroke:英文:空格<a<A<b<B;汉字:按笔画16、exact设置与字符串精确比较P43Off:如果左长右短,则左边字符串取同右边长度相同的子字符串进行比较On:现在较短字符串尾部加上若干空格再比较17、宏替换P44功能:替换出字符型变量的内容语法格式:&内存变量名(只能是字符型) [.表达式]例:cvar=”南京审计学院”? “&cvar.是一所财经类大学”&&南京审计学院是一所财经类大学数值函数18、abs( )P45功能:取绝对值19、int( )P45功能:取整20、max( )和min( )P45所有表达式数据类型必须一致21、mod( )P46功能:求模语法格式:mod(被除数,除数)被除数决定返回值中的小数位数;除数决定返回值正负;被除数与出书同号,则返回值为两数相除余数;被除数与除数异号,返回值为两数相除的余数加上除数22、round( )P46功能:四舍五入语法格式:round(数值表达式,小数位数)小数位数>=0,表示表达式要保留的小数位数;小数位数<0,返回值在小数点左边包含零的个数为小数位数的绝对值23,、sqrt( )P46功能:返回表达式平方根24、rand( )P47功能:返回一个0到1之间的随机数字符函数25、space( )P47功能:生成空格26、len( )P47功能:返回字符表达式中字符的数目27、alltrim( ):删除字符表达式的前导和尾部空格P47ltrim( ):删除字符表达式的前导空格rtrim( )/trim( ):删除字符表达式的尾部空格28、left(表达式,字串长度)P48功能:从字符表达式最左边字符开始返回指定数目的子字符串right(表达式,字串长度)功能:从字符表达式最右边字符开始返回指定数目的子字符串Substr(表达式,开始截取子串的起始位置[,截取的字串长度])功能:从字符表达式中返回子字符串,若起始位置为0则返回空字符串29、at(搜索的字符表达式,被搜索的字符表达式[,第几次出现])P48功能:返回一个字符表达式在另一个字符表达式中出现的位置如果不想区分字符的大小写,可使用atc( )30、like(表达式1,表达式2) P49功能:确定一个走覅表达式是否与另一个字符表达式相匹配31、lower( ):把字符表达式中的大写字母转换成小写字母P49upper( ):把字符表达式中的小写字母转换成大写字母日期与时间函数32、date( ):返回当前系统日期,返回值为日期型P49time( ):以24小时制的hh:mm:ss返回当前系统时间,返回值为字符型datetime( ):返回当前系统日期时间,返回值为日期时间型33、year( ):返回日期或日期时间表达式中的年份P49month( ):返回日期或日期时间表达式中的月份day( ):返回日期或日期时间表达式中是某月中的第几天34、dow(日期表达式、日期时间表达式)P50功能:返回该日期是一周的第几天(第一天为星期天)数据类型转换函数35、str(数值表达式[,返回的字符串长度[,小数位数]]P50功能:将数值表达式的值转换为字符型数据如果缺少小数位数,则不转换小数部分如果缺少字符串长度和小数位数,则默认字符串长度为10,无小数部分如果存在字符串长度和小数位数,转换时首先满足整数部分,再自动调整小数位数如果字符串长度<表达式的整数部分位数,则返回*****如果字符串长度>表达式长度,则字符串前面加前导空格36、val( )P50功能:将含有数字字符的字符型数据转换为数值型数据若字符串内出现非数字字符就停止转换(浮点型除外)若首字符为非数字字符,则返回值为0,忽略前导空格37、dtoc(日期型数据、日期时间型数据[,1])P51功能:将日期型或日期时间型数据日期部分转换为字符型数据如果使用1,则结果字符串为YYYYMMDDttoc(日期时间型数据[,1])功能:将日期时间型数据转换为字符型数据如果使用1,则结果字符串为YYYYMMDDHHMMSS38、ctod( ):将字符型数据转换为日期型数据P51ttod( ):将字符型数据转换为日期时间型数据39、asc( ):返回最左边字符的ascii值40、chr( ):将数值表达式的值作为ascii值返回对应的字符P52asc(a)=97 asc(A)=65其他常用函数41、between(测试的表达式,下界,上界)P52功能:判断一个表达式的值是否在另外两个相同类型的表达式的值中间返回值:逻辑型42、iif(测试条件,表达式1,表达式2)P52功能:根据逻辑表达式的值,返回两个值中的某一个例:43、type( ):返回字符表达式内容的数据类型P5344、messagebox(在对话框中显示的文本[,对话框中的按钮图标默认按钮[,对话框标题栏中的文本]])功能:显示一个用户自定义对话框P53缺少标题时显示Microsoft Visual FoxPro默认按钮值:0第一个按钮为默认按钮256第二个按钮为默认按钮512第三个按钮为默认按钮Messagebox( )返回值由所选取按钮决定确定 1 忽略 5取消 2 是 6放弃 3 否7功能:返回一个编号,该编号对应于键盘缓冲区中按键操作不包含秒数,返回值为0秒数为0时,一直等到有键击为止,返回该键ascii值秒数不为0时,秒数内无键盘输入时,返回0;有键盘输入时,返回该键ascii值46、file(文件名) P54功能:测试磁盘上是否存在指定文件返回值:逻辑型47、getfile([文件扩展名(下面)][,提示文本(上面)]) P54功能:显示“打开”对话框,并返回选定文件的名称48、isnull( ) P55功能:判断表达式计算结果是否为null值返回值:逻辑型区别:数据库的使用49、打开数据库P67语法格式:open database [数据库名/?] [exclusive] [shared] [validate] [noupdate] exclusive独占方式shared共享方式validate打开时对数据库进行有效性检验noupdate只读方式50、设置当前数据库P68语法格式:set database to 数据库名如果没有数据库名,则所有打开的数据库都不是当前数据库51、修改数据库(打开数据库设计器)P68语法格式:modify database [数据库名/?]52、关闭数据库P68语法格式:modify database [all]如果仅仅关闭当前数据库,必须先指定当前数据库,然后再关闭53、删除数据库P69语法格式:delete database 数据库/? [deletetables]如果选择deletetables,则删除数据库同时删除其中的表54、检查数据库有效性P70语法格式:validate database [recover]表的创建和修改55、create table-SQL创建表结构P74语法格式:create table 表名[free] (字段名字段类型(字段宽度,小数位数)) [null/not null] [check表达式1[error表达式2]] [default默认值] [primary key/unique]Primary key主关键字unique候选关键字56、alter table-SQL修改表结构P76语法格式:(1)增加字段(字段类型千万不能省!!!)Alter table 表名add [column] 字段名字段类型(字段宽度,小数位数) [null/not null] [check表达式1[error表达式2]] [default默认值] [primary key/unique](2)更改字段Alter table表名alter [column] 字段名[null/not null] [set check表达式1[error表达式2]] [set default默认值] [primary key/unique](3)删除字段Alter table 表名drop [column] 字段名(4)重命名字段Alter table 表名rename [column] 字段名1to字段名2数据库与自由表57、添加数据库表P77语法格式:add table 表名/?功能:将指定的表添加到当前数据库中58、移去数据库表P77语法格式:remove table 表名/?功能:将指定的表从当前数据库中移去59、解除后链P77语法格式:free table 表名功能:解除后链,使之成为自由表表的使用60、使用use命令打开表P79语法格式:use 表名[alias表别名][noupdate][exclusive][shared][in 工作区域]若打开的是非当前数据库中的表,可使用数据库名!表名61、select(0/1/表别名) P80功能:查看表在哪个工作区打开0,返回当前工作区编号1,返回32767指定表别名,返回其所在工作区62、关闭表P80(1)use命令语法格式:use [in 工作区域/表别名](2)close命令语法格式:close all关闭所有打开的数据库和表close关闭当前所有打开的表但不关闭数据库63、追加表记录(1)append命令P81Append:打开表的浏览或编辑窗口,等待用户立即在表的尾部追加记录Append blank:在表的尾部追加了一条空记录,等待用户以后编辑(2)append from命令(可以向表中追加其他文件)P81语法格式:append from 文件名[fields可以选取的字段列表][for条件表达式][delimited/xls] Delimited表示追加文本文件.txt;xls表示追加excel文件.xls;默认追加表文件.dbf(3)insert命令(使用前必须先打开表)P82语法格式:insert before:表示在当前记录前面插入新记录insert blank:在当前记录之后插入空记录,不会出现表浏览器(4)insert into-SQL命令(需要插入记录的表如果已经建立了有效性规则或主索引或候选索引时必须使用)P82语法格式:insert into 表名字段名1, 字段名2 values 值1,值2还可以从数组中插入记录语法格式:insert into 表名from array 数组名64、表记录的浏览(1)list命令P83语法格式:list/display [fields字段列表] [for条件表达式] [to printer] [to file文件名] [off]To文件名是指输出到指定的文本文件,默认是在主窗口浏览显示;使用off表示只显示记录内容而不显示记录号(2)browse命令P84语法格式:browse [fields字段列表] [for条件表达式] [freeze可修改的字段名] [noappend] [nodelete] [nomodify] [title浏览窗口标题]Noappend不可追加记录nodelete不可删除记录nomodify不可修改记录65、表记录的筛选P85语法格式:set filter to [表达式]66、表字段的筛选P85语法格式:set field to [字段列表]67、记录的定位(1)goto命令P87语法格式:goto记录号[in工作区号/in表别名] top/bottom功能:实现记录指针的绝对定位(2)skip命令p88语法格式:skip [从当前记录开始移动的记录数] [in工作区号/in表别名]功能:实现记录指针的相对定位(3)locate for命令P88语法格式:locate for 表达式1 [all/next/record/rest] while 表达式2功能:实现记录指针的条件定位All表中的全部记录Next从当前记录开始往下一定数目的记录(包括当前记录)Record具体哪一条记录Rest从当前记录开始到文件尾的所有记录(包括当前记录)记录指针定位到第一条满足条件的记录,如果要定位到另一条,可以使用continue68、有关记录指针定位(1)recno(工作区号/表别名) P88功能:测试当前记录指针所指记录号返回值:数值型(2)bof(工作区号/表别名) P88功能:测试记录指针是否为表文件首部返回值:逻辑型(3)eof(工作区号/表别名) P89功能:测试记录指针是否为表文件末尾返回值:逻辑型(4)reccount(工作区号/表别名) P89功能:返回表中的记录数目返回值:数值型(5)fcount(工作区号/表别名) P89功能:返回指定表的字段数返回值:数值型(6)field(i) P89功能:返回表的第i个字段的名称返回值:字符型例:图书表中有记录69、记录的修改(1)replace P90语法格式:replace字段名1with表达式1,字段名2with表达式2 [all/next/record/rest] [for条件表达式1] [while条件表达式2] [additive]Additive仅对备注型字段有效,使用时表示追加到原备注内容的后面,否则替换原有内容功能:成批替换指定范围的满足条件的记录(2)update-SQL P91语法格式:update [数据库名!]表名set 字段名1=表达式1,字段名2=表达式2 [where条件表达式1[and/or条件表达式2]]功能:成批更新表中满足条件的记录例:将图书表中所有出版社编号为Z014的图书记录,单价下浮10%法1:usetsReplace all djwitndj*0.9 for cbsbh=”Z014”法2:update ts set dj=dj*0.9 where cbsbh=”Z014”70、记录的删除(1)delete P91语法格式:delete [all/next/record/rest] [for条件表达式1] [while条件表达式2] [in工作区号/表别名功能:对指定范围内满足条件的记录置删除标记](2)delete-SQL P92语法格式:delete from [数据库名!]表名[where条件表达式1[and/or条件表达式2]]功能:给表文件中满足条件的记录置删除标记(3)pack(表必须以独占方式打开)P92功能:彻底删除带删除标记的记录zap功能:一次性删除表的全部记录71、记录的恢复P93语法格式:recall [all/next/record/rest] [for条件表达式1] [while条件表达式2]功能:恢复指定范围内满足条件的记录72、带删除标记记录的访问P93Set deleted on忽略带有删除标记的记录Set deleted off允许访问带有删除标记的记录Deleted(工作区号、表别名):测试当前记录是否带删除标记返回值:逻辑型73、记录的复制P93语法格式:copy to文件名[fields字段列表] [all/next/rest/record] [for条件表达式] [sdf/xls Sdf表示系统格式文件,是指将满足条件的记录复制到ascii文本文件中];xls表示复制到excel 电子表格文件中74、记录的统计与汇总P94(1)count语法格式:count [all/next/record/rest] [for条件表达式] [to变量名]功能:统计记录数(2)sum语法格式:sum 数值型字段[all/next/record/rest] [for条件表达式] [to变量名]功能:统计数值型字段的总和,结果存放到变量中(3)average语法格式:average 数值型字段[all/next/record/rest] [for条件表达式] [to变量名]功能:统计数值型字段的平均值,结果存放到变量中(4)total语法格式:total on 关键字段[to文件名] [fields字段列表] [all/next/rest/record] [for条件表达式]功能:按关键字段(预先需要排序)分类汇总数值型字段的和,结果放在文件(.dbf)中表的索引75、76、77、表之间的关系78、建立临时关系P101语法格式:set relation to 关系表达式into 区号/别名功能:建立表之间的临时关系使用命令建立临时关系一般步骤:1、分别在两个工作区中打开需要建立临时关系的表2、设置子表的主控索引3、确定关系表达式4、选择主表工作区,用set relation to命令建立临时关系79、解除临时关系P102语法格式:set relation to当关闭主表或关闭子表时,临时关系也自动解除表的触发器80、81、与数据库属性有关的函数82、dbsetdrop函数P107语法格式:dbsetdrop(需要设置属性的名称,属性类型,属性名称,需要设置的属性值) 常用属性类型:Database数据库Table表Field字段View视图常用属性名称:Caption字段标题Comment注释Defaultvalue字段默认值(该属性只读)RuleExpression表或字段的有效性规则(该属性只读)RuleText表或字段有效性提示文本(该属性只读)功能:为当前数据库或当前数据库中表的字段、表或视图设置属性(只能设置部分属性)83、dbgetdrop函数P107语法格式:dbgetdrop(需要设置属性的名称,属性类型,属性名称)功能:返回当前数据库属性或者返回当前数据库中字段、表或视图的属性。
VFP的常用函数及常用命令
八、记录的替换 REPLACE <字段名1> WITH <表达示1> [, <字段名2> WITH <表达示2>] [范围][条件] 九、记录浏览 LIST|DISPLAY [FIELDS <字段名表>] [范围] [FOR <条件 >] [WHILE <条件>] [OFF] [TO PRINT] 注:LIST的默认范围为ALL,而DISPLAY为当前记录 DISPLAY ALL与LIST功能基本相同,区别在于DISPLAY ALL会自动分屏显示。 十、打开数据库 USE <数据库名>:单独的USE表示关闭数据库。
3、删除索引 删除索引文件:与删除普通文件相似(先关闭后删除) DELETE FILE 文件名 删除索引标识 DELETE TAG ALL|<索引标识1>[, <索引标识 2>]… 4、索引的更新 已打开的索引文件会自动更新 但如未确定主控索引,则要用REINDEX重新更新。
查询
顺序查询 索引查(字符表达式):字符串长度; AT (字符表达式1,字符表达式2,[ 数值表达式]): 字符1在字符2中第N次出现的位置; ALLTRIM (字符表达式):删除前后空格; SPACE (数值表达式):返回N个空格; UPPER (字符表达式):小写字母转换成大写字母; LOWER (字符表达式):大写字母转换成小写字母; VAL (字符表达式):字符串转换成数值; STR (数值表达式):数值转换成字符串; CHR (数值表达式):从ASC码返回字符串; ASC (字符表达式):返回字符的ASC码;
3、FOR子句 满足条件的记录 4、WHILE子句 不满足条件时停止 5、FIELDS子句 指定字段 6、OFF子字句 不显示记录号 7、TO PRINT 子句 输出到打印机
VFP命令和函数
说明命令结构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 DATABASEdatabasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
指定当前的数据库:SET DA TABASE TO [databasename]Databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
关闭数据库:CLOSE DATABASE [ALL]关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
然后用寻找替换法达到如下效果(即每一条为一行,各项之间是##):
译学研究##翻译研究与意识形态:拓展跨文化对话的空间##孙艺风##2003-5-4
(3) 把该文件存为纯文本文件,文件名为mulu.txt,存入index文件夹内。
(4) 用foxpro打开index.dbf文件,做以下工作:
如:disp lastname, preference for "comedy" $preference
(显示的字段为lastname和preference)
4. 用记录指针号代替编号字段的内容
设编号字段名为 gen (必须是N型)
repl all gen with recno()
28. 退出循环: exit
29. 把sentence字段内容全部转化为小写字母,再显示:
? lower (sentence)
同样,把sentence字段内容全部转化为大写字母,再显示:
? upper (sentence)
30. 在备注字段sentence中加空行:
repl all sentence with sentence + chr(13)+chr(13) && chr(13)为回车符)
DTOC( ) Example
STORE CTOD('10/31/92') TO thisdate
? DTOC(thisdate)
STORE DTOC({10/31/92}+90) TO expiredate
? 'Your 90-day warranty expires', expiredate
20. 在没一个字段内容的末尾加上一个空格:
设sentence为一字符型字段
repl all sentence with sentence +" "
21. 如果一个字段内容长度已满(如设定最长值为255),在另一个字段long中输入"T":
repl all long with "T" for len(sentence)=254
set filt to not empty(text) (只对新增添的记录做加工)
repl all text with strtran(text,'##',chr(13) (把一条内容化为4行)
repl all 类别 with mline(text,1) (把text的第一行内容复制到"类别"字段)
16. 逐条显示备注字段(当然也可以显示其他字段)内容:
use &
go top
do while .not. eof()
set memowidth to 60
disp notes (显示notes字段内容)
?
@ 20,2 prompt 'Next sentence '
brow noedit 或 change noedit
brow nomodify nodelete
14. 在sentence字段中统计英语词的数量:
do while .not. eof()
store occurs (" ", alltrim(sentence) to n1
@ 20,18 prompt 'Previous sentence '
@ 20,40 prompt 'Stop '
menu to w
do case
case=1
skip
case=2
skip-1
case=3
go bottom
设 A.TXT 为文本文件, B.dbf 为数据库文件
use B
append from A.TXT type SDF
3. 在字段中查找字符串(也可在备注字段中查找):
disp for "search text" $fieldname (显示含有字符串search text的filename字段的内容)
5. 统计并显示某字段中含有某字符串的数量:
设 title为字段名,f 为字符串,x 为内存变量
acce "请输入 :"to f
count for f $title to x
? "篇名中含"",f,""的文章一共有",x,"篇。"
6. 把数据库文件的结构转成文本文件A.txt (以便用word打印):
必须有所知,否则不如死。——罗曼·罗兰
FOXPRO 部分命令和函数的使用方法
1. 把数据库文件转成文本文件:
设 A.dbf 为数据库文件,B.txt 为文本文件
use A
copy to B.txt type SDF
2. 把文本文件添加到数据库文件的末尾(如新建数据库文件是空文件,则把文本文件转成数据库文件:
store occurs (" ", alltrim(sentence2) to n2
store occurs (" ", alltrim(sentence3) to n3
n=n1+n2+n3
repl zishu with n
skip
enddo
15. 建立复合型索引:
18. 利用宏代换打开.dbf文件:
accept 'Please type a file name: ' to t
use &T
19. empty () 函数的用法:
if empty (no) (如果no字段内容为空)
append from &T type sdf field temp (把文本文件转为.dfb文件)
9. Returns a character type date from a date expression.
Syntax
DTOC(<expD>[, 1])
Returns Character
Remarks
DTOC( ) returns a character string corresponding to the date expression <expD>. The date format is determined by SET CENTURY and SET DATE.
? DTOC({10/31/92},1)
10. 把日期型内容转为字符型内容
DTOS(date()) 把目前日期转为字符
DTOS(登录日期) 把日期型字段"登录日期"转为字符型
11. 翻译字段内容
把字符字段中的"1900"转变为"2000"
repl jieyueriqi with chrtran(jieyueriqi,"1900","2000")
必须有所知,否则不如死。——罗曼·罗兰
use form
index on zishu tag zishu (根据zishu字段建立索引)
如果按zishu排序,命令是:
set order to tag zishu
取消该排序的命令是:
set order to
set filt to (取消过滤,恢复对整个数据库的操作)
(5) 逐条检查输入信息,作必要修改。
(6) repl all text with '' (清空text内容)
(7) modi stru, 删除a和b两个字段。
32. 把备注字段某一行的内容复制到字符字段:
设text为备注字段,kind为字符字段
repl all kind with mline(text,1) (把text的第一行内容复制到kind字段)
33. a
34. a
35. a
36. a
index
必须有所知,否则不如死。——罗曼·罗兰
modi stru 添加新字段a和b,作为第一和第二个字段,字符,长度到底(254)
append from mulu.txt type sdf
repl all text with alltrim(a)+alltrim(b) (把字段a和b的内容复制到备注字段text内)
设数据库文件为 form.dbf
use form
list structure to A.txt
7. 删除某记录以后的所有记录
use (filename)
go n ( n 为某记录的记录号)
skip
delete rest
use
最后用pack命令物理删除.
8. 删除重复记录
31. 《中国翻译》期刊增添目录数据的方法
(1) 从《中国翻译》网()下载每一期的目录
(2) 用word编辑目录内容,达到如下效果:
第一行为类别 译学研究
第二行为标题 翻译研究与意识形态:拓展跨文化对话的空间
第三行为作者 孙艺风
? "Sentence", ltrim(str(no)), "with", ltrim(stri(zishu)), "words"
效果如:Sentence 5 with 20 words.
26. 显示/返回去掉右空格的字符型内容:rtrim()