FoxPro常用函数及应用
【功能】用表达式(<表达式1>、<表达式2>…) 的值替换数据库中原来字段(<字段1>、<字 段2>…)中的数据。
【说明】
⑴对于数值型字段,若<表达式1>,<表达式 2>…的值比字段实际宽度长,那么REPLACE 命令将按下面规则强制执行:
①首先,截取小数的位置,对字段的小数部分四舍五 入;
②如果其值还不适合字段宽度,则用科学计数法替换 字段的内容(肯定会损失精度);
(2)BLANK用来向当前数据库的当前记录之后 (前)插入一条空记录。
3.2.5 删除记录
对于无用的记录,可以删除它。在FoxPro中,删除 分为逻辑删除和物理删除。逻辑删除的记录还可以 恢复,而物理删除的记录则不能恢复。
1.逻辑删除记录──DELETE
【格式】DELETE[<范围>][FOR<逻辑表达1>][WHILE <逻辑表达2>] [NOOPTIMIZE]
•
加强交通建设管理,确保工程建设质 量。20:35:3120 :35:312 0:35Friday , December 18, 2020
•
安全在于心细,事故出在麻痹。20.12. 1820.1 2.1820:35:3120 :35:31 December 18, 2020
•
踏实肯干,努力奋斗。2020年12月18 日下午8 时35分 20.12.1 820.12. 18
•
追求至善凭技术开拓市场,凭管理增 创效益 ,凭服 务树立 形象。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
[NOOPTIMIZE]
【功能】将数据库中标有删除标记的记录恢复 (还原)
【说明】恢复当前选择的数据库中范围为符合 条件的做了删除标记的记录,意即删除标记 被取消,省略<范围>和<条件>时,默认为当 前记录。
3.物理删除记录──PACK/ZAP
【格式一】PACK [MEMO] [DBF]
【功能】把当前打开的数据库文件中做过删除 标记的记录真正删除掉。
【功能】在当前的数据库中给要删除的记录做删除标 记。
【说明】
⑴给要删除的记录做删除标记,但并未从数据库中 真正删除记录。
⑵省略<范围>和<条件>,则默认为当前记录。
⑶其它选项同前。
2. 恢复记录──RECALL
【格式】RECALL [<范围>][FOR <逻辑表达式 1>][WHILE <逻辑表达式2>]
⑷REST
操作对象为从当前记录开始
直到最后的所有记录
⒊ 限制性短语
限制性短语规定对操作的种种限制,
包括条件限制(FOR、WHILE )、 数据 来源限制(FROM、WITH)和输出结果 去向限制(TO)等。
例如:
DISPLAY NEXT 20 FIELDS 姓名,职称, 工作单位 FOR "教授"$职称 TO PRINT
打开数据库──USE
USE [<文件名> | ?] [IN <数值表达式1>] [AGAIN] [INDEX <索引文件名表> | ? [ORDER [<数值表达式2> | <idx 索引文 件> | [TAG] <索引标识名> [OF <cdx索引文件>] [ASCENDING | DESCENDING]]]][ALIAS <别名>]
⑵GO TOP将记录指针指向第一条记录;GO BOTTOM将记录指 针指向最后一条记录。
⑶IN <数值表达式2>/IN<字符表达式>表示在不退出本工作区的 情况下移动别的工作区中的记录指针。
⑷若数据库建了索引,则GO TOP指向关键值最小的记录,GO BOTTOM指向关键值最大的记录。
2. 相对定位──SKIP
③最后,所有方法都失败,用“*”替换字段的内容。 ⑵省略范围时替换当前记录中的字段。
⑶ADDITIVE选项只适用于备注字段的替换。若使用 该选项,则把新内容追加到原备注字段内容后,否 则,将覆盖原备注字段的内容。
⑷<表达式1>,<表达式2>…的数据类型应分别与 <字 段1>, <字段2>…的类型相同,否则就会出错。
【格式二】ZAP
【功能】删除当前打开的数据库中所有的 记录。
【说明】ZAP命令将当前数据库中的所有 记录真正删除,仅留下数据库结构。 ZAP等价于DELETE ALL和PACK命令。
3.2.6 自动替换字段
【格式】 REPLACE <字段1> WITH <表达式1> [ ADDITIVE][, < 字 段 2 > WITH < 表 达 式 2 > [ADDITIVE] ...] [<范围>] [FOR <逻辑表达式 1>] [WHILE <逻辑表达式2>] [NOOPTIMIZE]
⑺使用NOCONSOLE选项可使数据在打印 或存人磁盘文件的同时不显示在屏幕上, 加入NOOPTIMIZE参数将不用Rushmore 优化技术。
记录的定位与顺序查找
1. 绝对定位──GO│GOTO GO/GOTO[RECORD] <数值表达式1> [IN <数值表达式2>|IN <
字符表达式1>] 或者 GO/GOTO TOP | BOTTOM [IN <数值表达式2>|IN <字符 表达式2>] ⑴<数值表达式1>的值必须大于0且小于或等于数据库中的记录 个数。
•
树立质量法制观念、提高全员质量意 识。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
⑷命令中的字母不分大小写
⑸一条命令的最大长度可以为2048个字 符,如果命令较长可分多行书写,但必 须在每行的结尾使用分行符“;”(最后 一行不用)。
⑹一行内只允许写一条命令,每条命令 用回车符作为结束标志。
建立数据库
• 段宽度(Width)和 小数位数(Dec)。
⑸FOR<逻辑表达式1>显示指定范围内符合本条 件的所有记录。
•
⑹使用TO PRINTER[PROMPT]/TO FILE< 文件>选项可将数据库记录送到打印机或 存入指定的磁盘文件(缺省扩展名 为.TXT)中。加入PROMPT可打开一个 对话框,以设定打印机的状态及份数等, 该参数只适用于FoxPro for Windows。
•
作业标准记得牢,驾轻就熟除烦恼。2 020年1 2月18 日星期 五8时35 分31秒 20:35:3 118 December 2020
3.2.4 插入记录
【格式】INSERT [BEFORE] [BLANK]
【功能】在当前记录的后面插入一条新记录且 立即显示此新记录用于编辑。
【说明】
⑴加上BEFORE则所插入的记录会放于当前 记录指针所指的记录前面,且用于编辑,若 SET CARRY设置为ON,则上一条记录的内 容会自动带到新的记录中。
【说明】
⑴一旦执行PACK命令,被删除的记录不能再 使用RECALL命令恢复。
(2)使用MEMO选项只清除备注文件中的多余 空白,以减小备注文件的大小,但不删除带 “标记”的记录;使用DBF选项只删除带“标 记”的记录,但不清除备注文件中的多余空白; 不带MEMO和DBF选项,则可以同时删除带 “标记”的记录和备注文件中的空白。
[EXCLUSIVE] [SHARED] [NOUPDATE]
2.4 FoxPro命令的格式及书写规则
每条Foxpro命令都有其特定的语法结 构,用以说明为实现该命令的功能所必 须包含和可以任选的成分。一条典型的 操作命令由命令动词、操作对象和限制 性短语三部分组成。
⒈ 命令动词
所有命令都以命令动词开头,它规 定了命令要完成的功能。命令动词通常 为一个英文动词,该动词的英文含义表 示要执行的操作。例如,HELP(帮助命 令)、DO (执行命令)。
使用函数,必须注意三个问题:函数的调用格式; 参数的个数及其数据类型;函数返回值的类型。
2.4.2 命令的书写规则 使用FoxPro命令时应遵循如下规则: ⑴每条命令必须以命令动词开头,且必 须符合命令的语法格式。
⑵限制性短语在命令行中出现的先后次 序无关紧要。
⑶命令动词与限制性短语之间、子句与 子句之间以及各个选项之间必须至少用 一个空格隔开。
【格式】 SKIP [<数值表达式1>] [IN <数值表达式2> | <字符表达式>]
【功能】 在当前或指定的数据库中向前或向后移动记 录指针。
【说明】
⑴<数值表达式1>确定记录指针移动的记录数,为正 数则向后移;为负数则向前移,若省略,则向后移 一条记录。
⑵可在当前工作区中移动其它工作区中数据库的记 录指针。
• 字段宽度说明该字段允许存放对象的最 大字符数。字符型字段的宽度为1~254。 数值型和浮点型字段的宽度为1~20。系 统自动设置逻辑型、日期型字段的宽度 分别为1和8。