Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭКЗАМЕН АИС.DOC
Скачиваний:
13
Добавлен:
05.12.2018
Размер:
424.45 Кб
Скачать

40.Навигационный способ доступа к данным. Организация способа доступа к данным. Работа с записями данных.

Навигационный доступ заключается в обработке каждой отдельной записи набора данных. Достоинством этого способа является простота кодирования операции. Основной недостаток – приложение получает все записи набора, независимо от того, сколько их требуется обработать. Это приводит к большой нагрузки на сеть, особенно при интенсивном обмене данными. Поэтому применение навигационного способа доступа обычно ограничивает локальная БД. При навигационном способе доступа операции выполняются с отдельными записями. Каждый набор имеет указатель текущей записи, т.е. записи, с полями которой могут быть выполнены такие операции, как редактирование и удаление. Компоненты Table и Query позволяют управлять положением этого указателя.

Сортировка набора данных.

С отсортированными записями набора данных сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в ней значений. Сортировку можно выполнить по нескольким полям. Сортировка наборов данных Table и Query выполняются различными способами. Сортировка наборов данных выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Таким образом сортировка возможна по полям, для которых создан индекс. Для сортировки по нескольким полям нужно создать индекс включающий эти поля.

Примерная сортировка с указанием индекса полей (для связанной с наборами данных таблицы поле Code задано автоинкрементным и определено в качестве главного индекса):

Procedure TForm1.Button5Click (Sender: TObject);

Begin

Case Radio Group1.ItemIndex of,

0: Table1.IndexFieldNames:=’Name’;

1: Table1.IndexFieldNames:=’Name; BirthDay’;

2: Table1.IndexFieldNames:=’Code’;

end;

end;

Сортировка выполняется по следующим полям: Name (индекс IndName), Name; BirthDay (индекс IndNameBirthDay) и Code (главный индекс).

Пользователь имеет возможность перемещаться по набору данных с помощью управляемых элементов (компоненты DBGrid, DBNavigator). Возможно расширение на форме управляемых элементов, предназначенных для навигации по набору данных, кроме того, на форме часто размещаются элементы для управления операциями редактирования, вставка записей, фильтрация и сортировка набора данных.

Фильтрация данных.

Фильтрация – задание ограничений для записи отбираемых в набор данных.

Компонент Table позволяет не только отображать, редактировать, упорядочивать данные но и отфильтровывать записи по определенным критериям. Фильтрация может задаваться свойствами: Filter, Filtered, FilterOptions. Свойство Filtered вкл/выкл использование фильтра. Сам фильтр записывается в свойстве Filter в виде строки, содержащей определенное ограничение на значения полей. ПР: Dep=’Цех*’

Свойство FilterOptions содержит опции:foNoPartialCompare-запрещает частичное совпадение при сравнении; foCaseInsensitive-делает сравнение строк нечувствительным к регистру.

Система Delphi дает возможность осуществить фильтрацию записей:

  1. По выражению.

  2. По диапазону.

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

Достоинством фильтрации является то, что она применима к любым полям, в том числе и неиндексированным.

Для задания выражения фильтра используется свойство Filter String. Выражение фильтра представляет собой конструкцию, в состав которой могут входить:

  1. Имена полей таблицы.

  2. Литералы.

  3. Операции сравнения.

  4. Арифметические операции.

  5. Логические операции.

  6. ( ) и [ ].

Поиск записи.

Поиск записи удовлетворяющей определенному условию означает переход на эту запись. Поиск во многом похож на фильтрацию, т.к. в процессе поиска так же выполняется проверка полей записи на некоторое условие. Отличие заключается в том, что в результате поиска количество записей в наборе данных не изменяется. При организации поиска записей важное значение имеет наличие индекса для полей, по которым ведется поиск. Индексирование значительно повышает скорость обработки данных, кроме того ряд методов может работать только с индексированными полями.

Для поиска записи по полям служат методы Locate и Lookup. Если удовлетворяющие условию поиска записи существуют, то указатель текущей записи устанавливается на первую из них. Если запись найдена, функция возвращает true.

Параметр Options позволяет задать значение, которое используется при поиске строк.

Пример поиска по одному полю:

Table1.Locate (‘Number’,123,[ ]),

Все параметры поиска отключены.

Параметры:

Использует комбинацию следующих значений:

  1. LoCaseInsensitive – регистр букв не учитывается.

  2. LoPartialKey – допускается частичное совпадение значений.

В общем функция Locate имеет следующий синтаксис:

Locate(const KeyFields; String ; const KeyValue; Variant; Options: TLocateOptions): Boolean;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]