FoxPro常用函数及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


树立质量法制观念、提高全员质量意 识。20. 12.1820 .12.18Friday , December 18, 2020

人生得意须尽欢,莫使金樽空对月。2 0:35:31 20:35:3 120:35 12/18/2 020 8:35:31 PM

安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20. 12.1820 :35:312 0:35De c-2018 -Dec-2 0
⑶数据库的第一条记录不是文件头,只有执行SKIP -1后才到达文件头,即BOF()值为.T.,RECNO()为1; 同样,最后一条记录不是文件尾,只有执行SKIP后, 才到文件尾,即EOF()值为.T.。
3.条件定位──LOCATE 【 格 式 】 LOCATE FOR < 逻 辑 表 达 式 1 > [ < 范 围
• 字段宽度说明该字段允许存放对象的最 大字符数。字符型字段的宽度为1~254。 数值型和浮点型字段的宽度为1~20。系 统自动设置逻辑型、日期型字段的宽度 分别为1和8。
备注型字段的长度仅受磁盘可用空间 的限制.
小数位数仅用于数值型和浮点型字段, 允许取值0~15,有效位数为16位,统计 宽度时,小数点本身也占一个字符。
【格式二】ZAP
【功能】删除当前打开的数据库中所有的 记录。
【说明】ZAP命令将当前数据库中的所有 记录真正删除,仅留下数据库结构。 ZAP等价于DELETE ALL和PACK命令。
3.2.6 自动替换字段
【格式】 REPLACE <字段1> WITH <表达式1> [ ADDITIVE][, < 字 段 2 > WITH < 表 达 式 2 > [ADDITIVE] ...] [<范围>] [FOR <逻辑表达式 1>] [WHILE <逻辑表达式2>] [NOOPTIMIZE]
【说明】
⑴一旦执行PACK命令,被删除的记录不能再 使用RECALL命令恢复。
(2)使用MEMO选项只清除备注文件中的多余 空白,以减小备注文件的大小,但不删除带 “标记”的记录;使用DBF选项只删除带“标 记”的记录,但不清除备注文件中的多余空白; 不带MEMO和DBF选项,则可以同时删除带 “标记”的记录和备注文件中的空白。
打开数据库──USE
USE [<文件名> | ?] [IN <数值表达式1>] [AGAIN] [INDEX <索引文件名表> | ? [ORDER [<数值表达式2> | <idx 索引文 件> | [TAG] <索引标识名> [OF <cdx索引文件>] [ASCENDING | DESCENDING]]]][ALIAS <别名>]
2.3 FoxPro常用函数及应用
FoxPro提供了大量的函数(也称为内部函数),每 个函数可以完成一个特定的加工过程,并返回一个 值。
FoxPro内部函数的调用格式如下:
函数名(参数1,参数2,…,参数n)
每个函数都规定了不同的参数个数、顺序和类型, 调用时必须在个数、次序、类型上和规定的一致。 每个参数都可以用常量、变量或表达式(包括函数) 来代替,如果函数无参数,函数名后的圆括号也不 能够省略(宏代换函数&是唯一的例外)。
[EXCLUSIVE] [SHARED] [NOUPDATE]
2.4 FoxPro命令的格式及书写规则
每条Foxpro命令都有其特定的语法结 构,用以说明为实现该命令的功能所必 须包含和可以任选的成分。一条典型的 操作命令由命令动词、操作对象和限制 性短语三部分组成。
⒈ 命令动词
所有命令都以命令动词开头,它规 定了命令要完成的功能。命令动词通常 为一个英文动词,该动词的英文含义表 示要执行的操作。例如,HELP(帮助命 令)、DO (执行命令)。
⑺使用NOCONSOLE选项可使数据在打印 或存人磁盘文件的同时不显示在屏幕上, 加入NOOPTIMIZE参数将不用Rushmore 优化技术。
记录的定位与顺序查找
1. 绝对定位──GO│GOTO GO/GOTO[RECORD] <数值表达式1> [IN <数值表达式2>|IN <
字符表达式1>] 或者 GO/GOTO TOP | BOTTOM [IN <数值表达式2>|IN <字符 表达式2>] ⑴<数值表达式1>的值必须大于0且小于或等于数据库中的记录 个数。
[NOOPTIMIZE]
【功能】将数据库中标有删除标记的记录恢复 (还原)
【说明】恢复当前选择的数据库中范围为符合 条件的做了删除标记的记录,意即删除标记 被取消,省略<范围>和<条件>时,默认为当 前记录。
3.物理删除记录──PACK/ZAP
【格式一】PACK [MEMO] [DBF]
【功能】把当前打开的数据库文件中做过删除 标记的记录真正删除掉。
③最后,所有方法都失败,用“*”替换字段的内容。 ⑵省略范围时替换当前记录中的字段。
⑶ADDITIVE选项只适用于备注字段的替换。若使用 该选项,则把新内容追加到原备注字段内容后,否 则,将覆盖原备注字段的内容。
⑷<表达式1>,<表达式2>…的数据类型应分别与 <字 段1>, <字段2>…的类型相同,否则就会出错。
3.2.4 插入记录
【格式】INSERT [BEFORE] [BLANK]
【功能】在当前记录的后面插入一条新记录且 立即显示此新记录用于编辑。
【说明】
⑴加上BEFORE则所插入的记录会放于当前 记录指针所指的记录前面,且用于编辑,若 SET CARRY设置为ON,则上一条记录的内 容会自动带到新的记录中。
[NOOPTIMIZE] [TO PRINTER [PROMPT] | TO FILE <文件>]
⑴省略<范围>和<条件>,对LIST,默认范围为 ALL;对DISPLAY,默认为当前记录。
⑵当SET DELETE设置为ON时,逻辑删除的记 录不会显示出来。
⑶带OFF选项不显示记录号。
⑷WHILE<逻辑表达式2>显示连续符合条件的记 录,直到<逻辑表达式2>为假,即使其后仍有 使<逻辑表达式2>为真的记录也不再显示。

作业标准记得牢,驾轻就熟除烦恼。2 020年1 2月18 日星期 五8时35 分31秒 20:35:3 118 December 2020
(2)BLANK用来向当前数据库的当前记录之后 (前)插入一条空记录。
3.2.5 删除记录
对于无用的记录,可以删除它。在FoxPro中,删除 分为逻辑删除和物理删除。逻辑删除的记录还可以 恢复,而物理删除的记录则不能恢复。
1.逻辑删除记录──DELETE
【格式】DELETE[<范围>][FOR<逻辑表达1>][WHILE <逻辑表达2>] [NOOPTIMIZE]
⑷REST
操作对象为从当前记录开始
直到最后的所有记录
⒊ 限制性短语
限制性短语规定对操作的种种限制,
包括条件限制(FOR、WHILE )、 数据 来源限制(FROM、WITH)和输出结果 去向限制(TO)等。
例如:
DISPLAY NEXT 20 FIELDS 姓名,职称, 工作单位 FOR "教授"$职称 TO PRINT

加强交通建设管理,确保工程建设质 量。20:35:3120 :35:312 0:35Friday , December 18, 2020

Hale Waihona Puke Baidu
安全在于心细,事故出在麻痹。20.12. 1820.1 2.1820:35:3120 :35:31 December 18, 2020

踏实肯干,努力奋斗。2020年12月18 日下午8 时35分 20.12.1 820.12. 18
⑷命令中的字母不分大小写
⑸一条命令的最大长度可以为2048个字 符,如果命令较长可分多行书写,但必 须在每行的结尾使用分行符“;”(最后 一行不用)。
⑹一行内只允许写一条命令,每条命令 用回车符作为结束标志。
建立数据库
• 定义数据库的结构,即确定数据库的字段名 (Name)、字段类型(Type)、字段宽度(Width)和 小数位数(Dec)。
⑵GO TOP将记录指针指向第一条记录;GO BOTTOM将记录指 针指向最后一条记录。
⑶IN <数值表达式2>/IN<字符表达式>表示在不退出本工作区的 情况下移动别的工作区中的记录指针。
⑷若数据库建了索引,则GO TOP指向关键值最小的记录,GO BOTTOM指向关键值最大的记录。
2. 相对定位──SKIP
• 字段名是某个字段的名字,在一个数据库文件 中必须唯一。字段名必须以字母开头,后跟字 母、数字或下划线,最多可达10个字符。字段 名中不允许有空格,且不分大小写字母, FoxPro一律看作大写。在中文版FoxPro中,允 许使用汉字作为字段名(一个汉字占两个字符 的宽度)。
• 字段类型是指该字段所存放的数据的类 型。Foxpro 2.5/2.6所支持的数据类型包 括:字符型(C)、数值型(N)、浮点 型(F)、日期型(D)、逻辑型(L)、 备注型(M)和通用型(G)。
使用函数,必须注意三个问题:函数的调用格式; 参数的个数及其数据类型;函数返回值的类型。
2.4.2 命令的书写规则 使用FoxPro命令时应遵循如下规则: ⑴每条命令必须以命令动词开头,且必 须符合命令的语法格式。
⑵限制性短语在命令行中出现的先后次 序无关紧要。
⑶命令动词与限制性短语之间、子句与 子句之间以及各个选项之间必须至少用 一个空格隔开。
>][WHILE<辑表达式2>][ NOOPTIMIZE]
【功能】条件查询数据库中第一个满足给定条件的记 录。
【说明】
⑴该命令只能找到满足条件的第一条记录,此时 FOUND()函数返回.T.,EOF()返回.F.。 ⑵可用CONTINUE连续查找是否还有满足条件的记 录,若无,则FOUND()函数返回.F.,EOF()返回.T.。 ⑶命令中省略范围时默认为ALL。 ⑷其余选项功能同前。
【功能】在当前的数据库中给要删除的记录做删除标 记。
【说明】
⑴给要删除的记录做删除标记,但并未从数据库中 真正删除记录。
⑵省略<范围>和<条件>,则默认为当前记录。
⑶其它选项同前。
2. 恢复记录──RECALL
【格式】RECALL [<范围>][FOR <逻辑表达式 1>][WHILE <逻辑表达式2>]
【格式】 SKIP [<数值表达式1>] [IN <数值表达式2> | <字符表达式>]
【功能】 在当前或指定的数据库中向前或向后移动记 录指针。
【说明】
⑴<数值表达式1>确定记录指针移动的记录数,为正 数则向后移;为负数则向前移,若省略,则向后移 一条记录。
⑵可在当前工作区中移动其它工作区中数据库的记 录指针。
【功能】用表达式(<表达式1>、<表达式2>…) 的值替换数据库中原来字段(<字段1>、<字 段2>…)中的数据。
【说明】
⑴对于数值型字段,若<表达式1>,<表达式 2>…的值比字段实际宽度长,那么REPLACE 命令将按下面规则强制执行:
①首先,截取小数的位置,对字段的小数部分四舍五 入;
②如果其值还不适合字段宽度,则用科学计数法替换 字段的内容(肯定会损失精度);

追求至善凭技术开拓市场,凭管理增 创效益 ,凭服 务树立 形象。2 020年1 2月18 日星期 五下午8 时35分 31秒20 :35:312 0.12.18

严格把控质量关,让生产更加有保障 。2020 年12月 下午8时 35分20 .12.182 0:35De cember 18, 2020
⑸FOR<逻辑表达式1>显示指定范围内符合本条 件的所有记录。

⑹使用TO PRINTER[PROMPT]/TO FILE< 文件>选项可将数据库记录送到打印机或 存入指定的磁盘文件(缺省扩展名 为.TXT)中。加入PROMPT可打开一个 对话框,以设定打印机的状态及份数等, 该参数只适用于FoxPro for Windows。
操作对象
指出命令所作用的对象,可以是字段
名、操作范围、文件名等。其中,操作 范围规定了命令所作用的记录的范围。 有如下四种情况:
⑴ALL
操作对象为全部记录
⑵NEXT <n> 操作对象为从当前记录 开始的连续n条记录
⑶RECORD <n> 操作对象为第n条记 录
显示数据库记录
LIST/DISPLAY [FIELDS <表达式列表>] [< 范围>] [FOR <逻辑表达式1>] [WHILE<逻辑表 达式2>] [OFF] [NOCONSOLE]
相关文档
最新文档