Л. Партыка, И. И. Попов системы управления базами данных



бет94/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   90   91   92   93   94   95   96   97   ...   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

Функции FoxPro для работы с массивами. Для работы с массивами СУБД FoxPro поддерживает множество функций. Перечень этих функций и их использование приведены в табл. 3.1.

Таблица 3.1. Функции для работы с массивами 

Функция

Описание

adel(   )

Удаляет из массива элемент, строку или столбец

adir(   )

Помещает в массив информацию о соответствующих файлах

aelement(   )

По индексу строки и столбца возвращает номер элемента

afields(   )

Помещает в массив информацию о файле базы данных

ains (   )

Включает в массив элемент, строку или столбец

alen(   )

Возвращает число элементов, строк или столбцов в массиве

ascan (   )

Выполняет поиск в массиве в памяти выражения

asort (   )

Сортирует массив-переменную в памяти по возрастанию или в обратном порядке

asubscript(   )

Возвращает индексы элемента (строку и столбец) по его номеру

Ссылки на элементы массива. К элементу массива можно обращаться по индексу его строки и столбца или по номеру элемента. Индексы массива представляют собой числа или числовые выражения, которые задают место расположения элемента массива. Первый индекс задает место расположения элемента в строке, второй — место расположения элемента в столбце. Например, индексы 1,1 задают элемент массива, находящийся в первом столбце и первой строке. Индексы 2,5 задают элемент во второй строке и пятом столбце массива. В одномерном массиве номер элемента идентичен его индексу строки. Номер элемента в двумерном массиве определяется подсчетом строк. Предположим, что вы создали следующий массив 3x3: a   b    с

d   e   f g   h    i

Номерами элементов для a, b и с будут 1, 2 и 3. Номерами элементов для d, e и/ будут 4, 5 и 6 и т. д. Имеются две полезные функции для работы с массивами — aelement() и asubscript ():

функция aelement()   возвращает номер элемента по заданным индексам столбца и строки;

функция   asubscript() возвращает индекс строки истолбца по заданному номеру элемента массива.

Присваивание значений элементам массива. Вы можете записать в каждый элемент массива различные значения или присвоить одно значение всем элементам массива. Для присваивания значений элементам массива используются команда store и операция =. Для присваивания значения отдельному элементу массива используются индекс элемента (одномерный массив) или его индексы (двумерный массив). В приведенных ниже примерах буквы A—F присваиваются элементам массивов 2x3 с именем а1рна и beta. Для присваивания элементам массива значений A—F используется команда store и операция =.

dimension             alpha(2,3), beta(2,3)

store       'a'            to alpha(1,1)

store       'b'            to alpha(l,2)

store       'c'            to alpha(1,3)

store       'd'            to alpha(2,l)

store       'e'            to alpha(2,2)

store       'f              to alpha (2,3)

beta(l,l) = 'a' beta(l,2) = 'b' beta(l,3) = 'c' beta(2,l) = 'd' beta(2,2) = 'e' beta(2,3) = 'f' display memory like alpha display memory like beta

Можно также присвоить элементам значения, используя номера элементов:

dimension             gamma(2,3)

store 'a'  to gamma(1)

store 'b'  to gamma(2)

store 'c'  to gamma(3)

store 'd'  to gamma(4)

store 'e'  to gamma (5)

store 'f'   to gamma (6)
display memory likе gamma

Изменение размерности массивов. Объем или размерности массива вы можете изменить, снова используя команды dimension или declare. Можно увеличить или уменьшить объем массива, одномерный массив преобразовать в двумерный, а двумерный свести к одномерному. Если вы увеличите число элементов массива, то содержимое всех элементов исходного массива копируется с соответствии с порядком элементов в массив с измененной размерностью. Дополнительные элементы массива инициализируются логическим значением false (.f.).

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



Передача данных между массивами и файлами базы данных. В СУБД FoxPro имеется несколько команд, которые облегчают передачу данных из файла данных в массив и обратно. Команда scatter пересылает данные в массив из отдельной записи файла данных. Команда copy to array передает в массив данные из последовательности записей, select (SQL) может передавать в массив результат запроса. Данные из массива можно переслать в отдельную запись базы данных с помощью команды gather. Команда append from array добавляет к файлу данных новые записи и заполняет записи данными из массива. Команда insert (SQL) присоединяет к базе данных одну новую запись и заполняет ее данными из массива. Команды scatter и copy to array пересылают данные из базы данных в массив.


Достарыңызбен бөлісу:
1   ...   90   91   92   93   94   95   96   97   ...   215




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет