R E C A L L 命 令

R E C A L L 命 令 - 图1恢复所选表中带有删除标记的记录

语 法

RECALL

[ Scope ] [FOR lExpression1 ] [ W H ILE lExpression2 ] [NOOPTIMIZE]

参 数 描 述

Scope

R E C A L L 命 令 - 图2R E C A L L 命 令 - 图3R E C A L L 命 令 - 图4R E C A L L 命 令 - 图5R E C A L L 命 令 - 图6R E C A L L 命 令 - 图7R E C A L L 命 令 - 图8R E C A L L 命 令 - 图9R E C A L L 命 令 - 图10指 定 要 恢 复 记 录 的 范 围 只 有 在 指 定 范 围 内 的 记 录 才 被 恢 复 Scope 子 句 有ALL NEXT nRecords RECORD nRecordNumber 和 REST 有 关 scope 子 句的 详 细 内 容 请 参 阅 帮 助 中 的 “ Scope Clauses ” 和 语 言 概 述

R E C A L L 命 令 - 图11RECALL 命令默认的范围是当前记录 (NEXT1)

FOR lExpression1

R E C A L L 命 令 - 图12R E C A L L 命 令 - 图13R E C A L L 命 令 - 图14R E C A L L 命 令 - 图15指 定 只 恢 复 lExpression1 计 算 为 真 (.T.) 的 记 录 这 可 以 筛 选 掉 不 需 要 的记 录

R E C A L L 命 令 - 图16R E C A L L 命 令 - 图17R E C A L L 命 令 - 图18R E C A L L 命 令 - 图19如果 lExpression1 是一个可优化表达式 那么 Rushmore 将优化 RECALL FOR 语句 为了得到最佳的性能 请在 FOR 子句中使用可优化表达式

R E C A L L 命 令 - 图20R E C A L L 命 令 - 图21R E C A L L 命 令 - 图22详 细 内 容 请 参 阅 稍 后 的 语 言 参 考 中 的 SET OPTIMIZE 命 令 与

R E C A L L 命 令 - 图23R E C A L L 命 令 - 图24R E C A L L 命 令 - 图25R E C A L L 命 令 - 图26R E C A L L 命 令 - 图27R E C A L L 命 令 - 图28R E C A L L 命 令 - 图29Microsoft Visual FoxPro 6.0 中 文 版 程 序 员 指 南 第 十 五 章 优 化 应 用 程序 中 的 掌 握 Rushmore 技 术

W H ILE lExpression2

R E C A L L 命 令 - 图30R E C A L L 命 令 - 图31R E C A L L 命 令 - 图32R E C A L L 命 令 - 图33R E C A L L 命 令 - 图34指 定 一 个 条 件 只 要 lExpression2 计 算 为 真 (.T.) 时 就 恢 复 删 除 的 记录

NOOPTIMIZE

R E C A L L 命 令 - 图35关 闭 RECALL 命 令 的 Rushmore 优 化

R E C A L L 命 令 - 图36R E C A L L 命 令 - 图37R E C A L L 命 令 - 图38R E C A L L 命 令 - 图39详细内容 请参阅稍后的 语言参考 中的 SET OPTIMIZE 命令与 Microsoft

R E C A L L 命 令 - 图40R E C A L L 命 令 - 图41R E C A L L 命 令 - 图42R E C A L L 命 令 - 图43Visual FoxPro 6.0 中文版程序员指南 第十五章 优化应用程序 中的 掌握 Rushmore

R E C A L L 命 令 - 图44R E C A L L 命 令 - 图45技术

说 明

R E C A L L 命 令 - 图46R E C A L L 命 令 - 图47只要没有发出 PACK 或 ZAP 命令 就可以使用 RECALL 命令恢复记录

R E C A L L 命 令 - 图48R E C A L L 命 令 - 图49警 告 一 旦 对 文 件 使 用 了 PACK 或 ZAP 命 令 那 么 所 有 带 删 除 标 记 的 记 录 将永 远 消 失

R E C A L L 命 令 - 图50R E C A L L 命 令 - 图51R E C A L L 命 令 - 图52R E C A L L 命 令 - 图53R E C A L L 命 令 - 图54R E C A L L 命 令 - 图55R E C A L L 命 令 - 图56R E C A L L 命 令 - 图57R E C A L L 命 令 - 图58R E C A L L 命 令 - 图59R E C A L L 命 令 - 图60R E C A L L 命 令 - 图61R E C A L L 命 令 - 图62R E C A L L 命 令 - 图63可以通过发出 DELETE 或 DELETE-SQL 命令给记录做删除标记 或者当浏览窗口或编辑窗口活动时 从 表 菜单中选择 删除记录 菜 单 项 可以通过发出 RECALL 命令恢复记录 或者当浏览窗口或编辑窗口是活动时 从 表 菜单中选择 恢复记录 菜单项

示 例

R E C A L L 命 令 - 图64R E C A L L 命 令 - 图65R E C A L L 命 令 - 图66下面的 示例 打开了数据库 testdata 中的 customer 表 用 DELETE – SQL 在 country 字 段包含 USA 的地方标记所有的记录为删除 显示所有标记为删除的记录 用 RECALL

R E C A L L 命 令 - 图67ALL 为标记为删除的记录解除标记

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && 打开 Customer 表

DELETE FROM customer WHERE country = 'USA' && 标记删除

CLEAR

R E C A L L 命 令 - 图68R E C A L L 命 令 - 图69LIST FIELDS company, country FOR DELETED && 列出标记记录

R E C A L L 命 令 - 图70R E C A L L 命 令 - 图71R E C A L L 命 令 - 图72 R E C A L L 命 令 - 图73 ALL && 取消标记删除记录的标记

请 参 阅

DELETE , DELETE – S Q L , PACK , SET DELETED , ZAP