C O P Y T O A R R A Y 命 令
将当前选定表中的数据复制到数组
语 法
COPY TO ARRAY ArrayName
[FIELDS FieldLis t]
[ Scope ] [FOR lExpression1 ] [ W H ILE lExpression2 ] [NOOPTIMIZE]
参 数 描 述
ArrayName
指 定 数 组 名 将 当 前 选 定 表 中 的 数 据 复 制 到 该 数 组 中
FIELDS FieldList
指 定 只 将 由 FieldList 指 定 的 字 段 复 制 到 数 组 若 省 略 FIELDS FieldList 只 要数 组 有 足 够 的 列 则 复 制 所 有 字 段 到 数 组
Scope
指 定 要 复 制 到 数 组 中 的 记 录 的 范 围 只 有 在 范 围 内 的 记 录 才 被 复 制 Scope 子句 有 ALL NEXT nRecords RECORD nRecordNumber 和 REST
有 关 scope 子 句 的 详 细 内 容 请 参 阅 帮 助 中 的 Scope 子 句
COPY TO ARRAY 的 默 认 范 围 是 ALL 记 录
FOR lExpression1
指 定 只 复 制 符 合 逻 辑 表 达 式 lExpression1 的 记 录 到 数 组 包 含 FOR 子 句 可 按条 件 复 制 记 录 到 数 组 筛 选 出 不 想 要 的 记 录
若 lExpression1 是 可 优 化 表 达 式 则 Rushmore 优 化 包 含 FOR lExpression1 的COPY TO ARRAY 查 询 为 获 得 最 佳 效 果 可 在 FOR 子 句 中 使 用 可 优 化 表 达式
有 关 优 化 表 达 式 的 内 容 请 参 阅 稍 后 部 分 的 SET OPTIMIZE 命 令 和
M icrosoft Visual FoxPro 6.0 中 文 版 程 序 员 指 南 第 十 五 章 优 化 应 用 程 序的 掌 握 Rushmore 技 术
W H ILE lExpression2
指 定 条 件 只 有 当 逻 辑 表 达 式 lExpression2 为 真 (.T.) NOOPTIMIZE
使 COPY TO ARRAY 的 Rushmore 优 化 无 效 有 关 详 细 内 容 请 参 阅 请 参 阅
稍 后 部 分 的 SET OPTIMIZE 命 令 和 Microsoft Visual FoxPro 6.0 中 文 版 程 序员 指 南 第 十 五 章 优 化 应 用 程 序 的 掌 握 Rushmore 技 术
说 明
COPY TO ARRAY 和 SCATTER 相似 但 COPY TO ARRAY 将多个记录复制到数组而 SCATTER 只复制一条记录到数组或一组变量 若指定的数组不存在 则 COPY TO ARRAY 和 SCATTER 都创建一个新的数组
要将单个记录复制到数组 可指定一维数组 指定的一维数组的元素数目必须与表中字段的数目相同 但不包括备注字段 在 COPY TO ARRAY 中不考虑备注字段
若指定了一维数组 则记录的第一个字段存储到数组的第一个元素 第二个字段存储到
数组的第二个元素 依此类推 若一维数组的元素数目比表中字段的数目多 则多余元素保持不变 若数组元素比表中字段少 则忽略多余字段
要将多个记录或整个表复制到数组 则指定一个二维数组 数组的行数就是数组能容纳
的记录数 数组的列数就是数组能容纳的字段数
每个记录存入数组的一行 记录的每个字段存入数组的一列 对每个记录 第一个字段存储在数组的第一列 第二个字段存储在数组的第二列 依此类推 若数组的列比表中的字段多 则不更改多余的列 若数组的列比表中的字段少 则多余的字段不存储到数组中
数组中每一行都填充了表中的一条记录的内容 若数组的行比表中的记录多 则不更改任何多余的行 若数组的行比表中的记录少 则多余的记录不存储到数组中
可以用 APPEND FROM ARRAY 将数组中的数据复制到新表中的记录 也可以用
GATHER 将数组或一组变量中的数据复制到表中的记录
示 例
在下面的示例中 先打开 customer 表 然后创建一个二维数组 并且复制 customer
的前三条记录到数组 DISPLAY MEMORY 显示存储在数组中的数据
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && 打开 Customer 表
DIMENSION gaTemp(3,10)
COPY NEXT 3 TO ARRAY gaTemp DISPLAY MEMORY LIKE gaTemp
请 参 阅
APPEND FROM ARRAY 命 令 , DECLARE 命 令 , D IMENSION GATHER 命 令 ,
PUBLIC 命 令 , SCATTER 命 令 , STORE 命 令