gather 命令

示例 请参阅

将当前选定表中当前记录的数据替换为某个数组、内存变量组或对象中的数据。

语法

GATHER FROM ArrayName | MEMVAR | NAME ObjectName
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
[MEMO]

参数

FROM ArrayName

指定一个数组,用它的数据替换当前记录中的数据。从数组的第一个元素起,各元素的内容依次替换记录中相应字段的内容。第一个数组元素的内容替换记录第一个字段的内容,第二个数组元素的内容替换记录第二个字段的内容,依此类推。
如果数组的元素少于表的字段数目,则忽略多余的字段。如果数组的元素多于表的字段数目,则忽略多余的数组元素。

MEMVAR

指定一组内存变量或数组,把其中的数据复制到当前记录中。内存变量的数据将传送给与此内存变量同名的字段。如果没有与某个字段同名的内存变量,则不替换此字段。

提示
在 SCATTER 命令中包含 MEMVAR 或 BLANK 子句,可以创建与字段同名的内存变量。

NAME ObjectName

指定某个对象,其属性与表的字段同名。每个字段的内容分别替换为与字段同名的属性的值。如果没有与某个字段同名的属性,则此字段的内容不做替换。

FIELDS FieldList

指定用数组元素或内存变量的内容替换字段的内容。只替换在 FieldList 中指定的字段的内容。

FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

选用 LIKE 子句或 EXCEPT 子句,或者同时包含以上两个子句,可以有选择地将字段内容替换为数组元素或内存变量的内容。如果包含 LIKE Skeleton 子句,Visual FoxPro 将替换与 Skeleton 匹配的字段;如果包含 EXCEPT Skeleton 子句,Visual FoxPro 将替换与 Skeleton 不匹配的所有字段。Skeleton 支持通配符(* 和 ?)。例如,要替换所有以字母 A 和 P 开头的字段,可使用下列命令:

GATHER FROM gamyarray FIELDS LIKE A*,P*

MEMO

指定用数组元素或内存变量的内容替换备注字段的内容。如果省略 MEMO 子句,则在用数组或内存变量的内容替换字段内容时, gather 命令将跳过备注字段。即使包含了 MEMO 关键字,gather 命令也忽略通用字段和图片字段。