Show/Hide Toolbars

XSharp

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

用途

为当前记录中一个或多个字段的内容分配新值。

语法

SCATTER [FIELDS <idFieldList> | FIELDS LIKE <Skeleton>
  | FIELDS EXCEPT <Skeleton>] [MEMO] [BLANK]
  | TO ArrayName | MEMVAR
  | NAME ObjectName [ADDITIVE]

参数

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 子句结合使用。

 

MEMO指定字段列表包括一个或多个备注字段。

 

BLANK使用 BLANK 关键字可以创建一组空变量,或在数组或对象中填充空值。每个变量的名称、数据类型和大小都与其字段相同。如果包含字段列表,则会为字段列表中的每个字段创建一个变量。

 

TO <ArrayName>指定将记录内容复制到哪个数组。从第一个字段开始,SCATTER 按顺序将每个字段的内容复制到数组的每个元素中。
SCATTER 会自动创建一个新数组。数组元素的大小和数据类型与相应字段相同。

 

MEMVAR将数据分散到一组变量中,而不是数组中。SCATTER 为表中的每个字段创建一个变量,并用当前记录中相应字段的数据填充每个变量,同时为变量分配与其字段相同的名称、大小和类型。

 

NAME <ObjectName>创建一个对象,其属性名称与表中的字段相同。要将表中每个字段的值复制到每个对象属性中,请不要使用 BLANK 关键字。要使属性为空,请输入 BLANK 关键字

 

ADDITIVE更新由 ObjectName 指定的现有有效 Visual FoxPro 对象的属性值。在使用 BLANK 和 ADDITIVE 时,将忽略具有匹配字段名的现有属性值。

 

参见

GATHER, COPY TO ARRAY, APPEND FROM ARRAY