Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

Команда COPY TO ARRAY

См. также Пример

Копирует данные в массив из таблицы, выбранной в данный момент.

Синтаксис

COPY TO ARRAY ArrayName
[FIELDS FieldList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[NOOPTIMIZE]

Параметры

ArrayName

Задает массив, в который нужно скопировать данные из таблицы.

FIELDS FieldList

Указывает, что в массив следует скопировать только поля, включенные в список FieldList. Если опустить предложение FIELDS FieldList, все поля будут скопированы в массив, если у него достаточно столбцов.

Scope

Задает диапазон записей, копируемых в массив. В копировании будут участвовать только записи указанного диапазона. Он может задаваться следующими предложе иями: ALL, NEXT nRecords, RECORD nRecordNumber и REST. Подробнее о предложениях диапазона см. тему Предложения диапазона или главу 2 "Оптимизация приложений" Руководства разработчика.

По умолчанию в команде COPY TO ARRAY используется диапазон ALL.

FOR lExpression1

Задает копирование только записей, удовлетворяющих логическому условию lExpression1. Предложение FOR позволяет выполнять условное копирование записей в массив, отфильтровывая ненужные записи.

Технология Rushmore допускает оптимизацию запроса COPY TO ARRAY с предложением FOR lExpression1, если lExpression1 является оптимизируемым выражением. Для повышения производительности рекомен уется пользоваться в предложении FOR оптимизируемым выражением. Подробнее о вы ажениях, оптимизируемых по технологии Rushmore, см. темы SET OPTIMIZE и Основы технологии Rushmore и главу 17 "Оптимизация приложений" Руководства разработчика.

WHILE lExpression2

Задает условие, согласно которому записи будут копироваться в массив, пока огическое выражение lExpression2 остается истинным (.T.).

NOOPTIMIZE

Блокирует оптимизацию выполнения команды COPY TO ARRAY по технологии Rushmore. Подробнее об этом см. темы SET OPTIMIZE и Основы технологии Rushmore, а также главу 17 "Оптимизация приложений" Руководства разработчика.

Комментарии

Команда COPY TO ARRAY аналогична команде SCATTER. Команда COPY TO ARRAY копи ует несколько записей в массив, а SCATTER fox90001.gif только одну запись в массив или в набор переменных памяти. Обе команды, COPY TO ARRAY и SCATTER, создают новый массив, если массива с заданным именем не существует.

Чтобы скопировать одну запись в массив, можно задать одномерный массив. В состав такого массива должно входить столько же элементов, сколько полей входит в таблицу, не считая memo-полей. Memo-поля команда COPY TO ARRAY игнорирует.

Если вы задали одномерный массив, первое поле записи будет сохранено в первом лементе массива, второе поле fox90001.gif во втором элементе и т.д. Если в одномерном массиве оказалось больше элеме тов, чем полей в таблице, оставшиеся элементы не изменяются. Если в массиве ме ьше элементов, чем полей в таблице, лишние поля игнорируются.

Чтобы скопировать в массив несколько записей или всю таблицу целиком, задайте вумерный массив. Число строк в массиве fox90001.gif это число записей, которое массив может вместить, а число столбцов массива fox90001.gif это число полей, которое можно в него поместить.

Каждая запись сохраняется в одной строке массива, а каждое поле записи сохра яется в одном столбце массива. В каждой записи первое поле сохраняется в первом столбце массива, второе поле fox90001.gif во втором столбце и т.д. Если в массиве оказалось больше столбцов, чем полей в таблице, все оставшиеся столбцы не изменяются. Если в массиве меньше стол цов, чем полей в таблице, лишние поля не сохраняются в массиве.

Каждая последующая строка массива заполняется содержимым очередной записи таб ицы. Если в массиве больше строк, чем записей в таблице, оставшиеся строки не изменяются. Если в массиве меньше строк, чем записей в таблице, лишние записи не сохраняются в массиве.

Содержимое массива можно скопировать в новые табличные записи командой APPEND FROM ARRAY. Кроме того, с помощью команды GATHER можно скопировать данные из массива или из набора переменных памяти в записи таблицы.



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.