G A T H E R 命 令
将当前选定表中当前记录的数据替换为某个数组 变量组或对象中的数据
语 法
GATHER FROM ArrayName | M E M V A R | N A M E Ob jectName
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton ] [MEMO]
参 数 描 述
F R O M ArrayName
指 定 一 个 数 组 用 它 的 数 据 替 换 当 前 记 录 中 的 数 据 从 数 组 的 第 一 个 元 素起 各 元 素 的 内 容 依 次 替 换 记 录 中 相 应 字 段 的 内 容 第 一 个 数 组 元 素 的 内 容替 换 记 录 第 一 个 字 段 的 内 容 第 二 个 数 组 元 素 内 容 替 换 记 录 第 二 个 字 段 的 内容 依 此 类 推
如 果 数 组 的 元 素 少 于 表 的 字 段 数 目 则 忽 略 多 余 的 字 段 如 果 数 组 的 元 素 多于 表 的 字 段 数 目 则 忽 略 多 余 的 数 组 元 素
M E M V A R
指 定 一 组 变 量 或 数 组 把 其 中 的 数 据 复 制 到 当 前 记 录 中 变 量 的 数 据 将 传 送
给 与 此 变 量 同 名 的 字 段 如 果 没 有 与 某 个 字 段 同 名 的 变 量 则 不 替 换 此 字段
提 示 在 SCATTER 命 令 中 包 含 M E M V A R 或 BLANK 子 句 可 以 创 建 与 字 段同 名 的 变 量
N A M E Ob jectName
指 定 某 个 对 象 其 属 性 与 表 的 字 段 同 名 每 个 字 段 的 内 容 分 别 替 换 为 与 字 段同 名 的 属 性 的 值 如 果 没 有 与 某 个 字 段 同 名 的 属 性 则 此 字 段 的 内 容 不 做 替换
FIELDS FieldList
指 定 用 数 组 元 素 或 变 量 的 内 容 替 换 其 内 容 的 字 段 只 替 换 在 FieldList 中 指 定的 字 段 的 内 容
FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton
选 用 LIKE 子 句 或 EXCEPT 子 句 或 者 同 时 包 含 以 上 两 个 子 句 可 以 有 选 择地 将 字 段 内 容 替 换 为 数 组 元 素 或 变 量 的 内 容 如 果 包 含 LIKE Skeleton 子
句 V isual FoxPro 将 替 换 与 Skeleton 匹 配 的 字 段 如 果 包 含 EXCEPT
Skeleton 子 句 V isual FoxPro 将 替 换 与 Skeleton 不 匹 配 的 所 有 字 段
Skeleton 支持通配符 * 和 ? 例如 要替换所有以字母 A 和 P 开头的字段 可 使 用下列命令
GATHER FROM gamyarray FIELDS LIKE A*,P*
M E M O
指 定 用 数 组 元 素 或 变 量 的 内 容 替 换 备 注 字 段 的 内 容 如 果 省 略 M E M O 子
句 则 在 用 数 组 或 变 量 的 内 容 替 换 字 段 内 容 时 GATHER 命 令 将 跳 过 备 注字 段 即 使 包 含 了 M E M O 关 键 字 GATHER 命 令 也 忽 略 通 用 字 段 和 图 片 字段
示 例
示例 1
此示例使用 GATHER 命令将数据复制到表的新记录中 在创建 Test 之后 使用SCATTER 命令创建一套基于表中字段的变量 然后对每个字段赋值并向表中添加一个空记录
CREATE TABLE Test FREE ;
(Object C(10), Color C(16), SqFt n(6,2)) SCATTER MEMVAR BLANK
m.Object="Box" m.Color="Red" m.SqFt=12.5 APPEND BLANK GATHER MEMVAR BROWSE
示例 2
此 示例 使用了 GATHER 命令及 NAME 子句将数据复制到表的新记录 在创建表 Test 之后 使用 SCATTER 命令创建具有基于表中字段属性的对象 然后为对象的属性赋值并向表添加一个空记录
CREATE TABLE Test FREE ;
(Object C(10), Color C(16), SqFt n(6,2))
SCATTER NAME oTest BLANK
oTest.Object="Box" oTest.Color="Red" oTest.SqFt=12.5 APPEND BLANK GATHER NAME oTest
RELEASE oTest
BROWSE
请 参 阅
APPEND FROM ARRAY, COPY TO ARRAY, DIMENSION, SCATTER