Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt.rtf
Скачиваний:
282
Добавлен:
19.08.2013
Размер:
4.05 Mб
Скачать

Лекция 31 (db_l31.Ppt). Доступ к записям, изменение данных, поиск, фильтрация. Параметризованные запросы. Визуальные компоненты для отображения данных из бд

Доступ к данным и отображение данных рассматривается на примере среды разработки Borland Delphi v.7 и, СУБД Postgres v.8.2 в операционной системе Microsoft Windows XP.

Доступ к данным в среде Borland Delphi 7 может осуществляться с помощью различных технологий. Основными из них являются: BDE (Borland Database Engine), ADO (ActiveX Database Object). Также имеются дополнительные технологии, такие как: dbExpres, InterBase и т.п. Ниже рассматривается доступ по технологии BDE.

Обработка записей БД предполагает предварительное выполнение выборки данных. Условия выборки могут быть заданы статически (при настройке компонента – источника данных) или динамически (в ходе выполнения программы, заранее не известны). Обработка записей может предполагать операции над единичной записью или над целой группой. В первом случае основную обработку удобнее реализовать средствами языка программирования, а во втором – средствами сервера базы данных. Хотя возможна и обработка единичных записей сервером базы данных, и обработка групп записей средствами языка программирования.

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

31.1. Доступ к записям

Доступ к записям в визуальном режиме (с использованием элементов пользовательского интерфейса) настраивается при создании приложения (см. Компоненты управления доступом к БД).

Доступ к записям в невизуальном режиме основан на использовании объекта типа TDataSet. Этот объект описывает набор (список) записей и позволяет выполнять такие операции над ними, как (слайд 2):

  • выборку записей из базы данных;

  • фильтрацию записей;

  • задание перечня доступных полей (проекция);

  • перемещение в начало, конец списка;

  • перемещение по записям (на одну вперед, назад, смещение на абсолютное или относительное количество записей);

  • чтение данных (доступ к полям записи);

  • запись данных (с буферизацией, возможностью отмены изменений);

  • добавление записей;

  • удаление записей;

  • выполнение вспомогательных операций (разного рода проверок, перекодировки данных и т.п.).

Исходными данными для такого набора записей могут быть: таблица базы данных (table), представление (view). Доступ к записям осуществляется в режиме курсора (в каждый момент времени – только к одной записи). Это – аналог механизма курсоров (cursor) языка SQL. Прежде чем обращаться к данным (полям) записи, необходимо переместить к ней курсор.

31.2. Поиск, фильтрация записей

Поиск записей осуществляется одним из следующих способов (слайд 3):

  • с помощью SQL-запроса;

  • специальными методами объекта источника данных (DataSet);

  • путем сравнения значений записей.

В первом случае источником данных может служить готовое представление (view) в базе данных или компонент, предназначенный для выполнения SQL-запроса (например, типа TQuery).

Во втором случае необходимо вызвать методы Locate или Lookup объекта источника данных (DataSet). Оба метода получают на входе список полей и накладываемых ограничений. Первый только перемещает курсор на нужную запись, второй – перемещает курсор и сразу возвращает данные нужной записи.

В третьем случае производится последовательное чтение записей (последовательное перемещение курсора) с проверкой выполнения условий выборки средствами языка программирования.

Фильтрация записей (помимо использования средств языка SQL) производится путем явного задания условий в атрибуте Filter объекта источника данных (DataSet). Условия записываются аналогично выражению в разделе where команды select языка SQL. В выражении можно использовать (слайд 4):

  • имена полей;

  • значения (символьные числовые и т.п.);

  • операторы сравнения (=, <, >, >=, <=, <>);

  • скобки (для группировки);

  • логические операторы (AND, OR, NOT);

  • математические операторы (сложение, вычитание, умножение, деление).

Для активизации фильтра необходимо присвоить атрибуту Filtered значение true.

Соседние файлы в предмете Базы данных