Show/Hide Toolbars

XSharp

Note该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。

用途

用数组、变量集或对象中的数据替换当前选定表中当前记录的数据。

语法

 

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

参数

 

FIELDS <idFieldList>        要处理的字段列表。默认为所有字段,备注字段除外,除非命令支持 MEMO 子句。
       只有两个文件中名称和类型相同的字段才会被附加。 如果相同名称的字段在数据类型上不匹配,则会出现运行时错误。

 

FIELDS LIKE <Skeleton>        可以使用通配符指定字段名称,例如 FIELDS LIKE *name

 

FIELDS EXCEPT <Skeleton>可以排除主键等字段: FIELDS EXCEPT Id
       <Skeleton> 支持使用通配符(* 和 ?)。 例如,要替换所有以字母 A 和 P 开头的字段,请使用 FIELDS LIKE A*,P*

 

请注意,您可以将 FIELDS LIKE 和 FIELDS EXCEPT 结合使用,但不能将字段列表与 LIKE 和 EXCEPT 子句结合使用。

 

 

FROM <ArrayName>指定数组,其数据将替换当前记录中的数据。从第一个元素开始,数组元素的内容将替换记录中相应字段的内容。第一个数组元素的内容替换记录的第一个字段;第二个数组元素的内容替换第二个字段,依此类推。
如果数组的元素数少于表的字段数,那么额外的字段将被忽略。如果数组的元素数多于表的字段数,则会忽略额外的数组元素。

 

MEMVAR指定将数据复制到当前记录的变量或数组。数据从变量转移到与变量同名的字段。如果不存在与字段同名的变量,则字段的内容不会被替换。

 

NAME <ObjectName>指定一个对象,其属性名称与表格中的字段相同。每个字段的内容都会被与字段同名的属性值替换。如果不存在与字段同名的属性,则字段内容不会被替换。

 

MEMO指定将备注或 Blob 字段的内容替换为数组元素或变量的内容。如果省略 MEMO,当 GATHER 用数组或变量内容替换字段内容时,将跳过备注和 Blob 字段。即使包含 MEMO 关键字,GATHER 也始终忽略 General 字段和 Picture 字段。

参见

APPEND FROM ARRAY, COPY TO ARRAY, SCATTER