Объектно-ориентированное программирование Инкапсуляция Полиморфизм Библиотека визуальных компонентов Кроссплатформенное программирование Визуальные стили Примеры скриптовАрхитектура приложений баз данных ввод/вывод

Настройка компонента TDataSource

На втором этапе разработки приложения баз данных необходимо перенести на форму и настроить компонент TDataSource. Он обеспечивает взаимодействие набора данных с компонентами отображения данных. Чаще всего одному набору данных соответствует один компонент TDataSource, хотя их может быть несколько.

Для настройки свойств компонента необходимо выполнить следующие действия.

1. Связать набор данных и компонент TDataSource. Для этого используется свойство DataSet компонента TDataSource, доступное через Инспектор объектов. Это указатель на экземпляр компонента доступа к данным. В списке этого свойства в Инспекторе объектов перечислены все доступные компоненты наборов данных.

2. Переименовать компонент. Это не обязательное действие. Тем не менее желательно присваивать компонентам осмысленные имена, соответствующие названиям связанных наборов данных. Обычно название компонента комбинирует имя набора данных (например OrdSource или dsOrders).

В приложении DemoDBApp компонент countrysource связан с компонентом CountryTable. Поэтому свойство DataSet имеет значение CountryTable.

 Примечание

Компонент TDataSource можно подключить не только к набору данных из той же формы, но и любой другой, модуль которой указан в секции uses

Компонент TDataSource имеет ряд полезных свойств и методов. Итак, связывание с компонентом набора данных выполняет свойство

property DataSet: TDataSet;

а определить текущее состояние набора данных можно, использовав свойство

type TDataSetState = (dslnactive, dsBrowse, dsEdit, dslnsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc); property State: TDataSetState;

При помощи свойства

property Enabled: Boolean;

можно включить или отключить все связанные визуальные компоненты. При значении False ни один связанный компонент отображения данных не будет работать.

Свойство

property AutoEdit: Boolean;

при значении True всегда будет переводить набор данных в режим редактирования при получении фокуса одним из связанных визуальных компонентов.

Аналогично, метод

procedure Edit;

переводит связанный набор данных в режим редактирования.

Метод

function IsLinkedTo(DataSet: TDataSet): Boolean;

возвращает значение True, если компонент, указанный в параметре DataSet, действительно связан с данным компонентом TDataSource.

Метод-обработчик

type TDataChangeEvent = procedure(Sender: TObject; Field: TField)

of object;

property OnDataChange: TDataChangeEvent;

вызывается при редактировании данных в одном из связанных визуальных компонентов.

Метод-обработчик

property OnUpdateData: TNotifyEvent;

вызывается перед сохранением изменений в базе данных. Метод-обработчик

property OnStateChange: TNotifyEvent;

вызывается при изменении состояния связанного набора данных (см. гл. 12).

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

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

В основе процесса разработки лежит триада компонентов:

  •  невизуальные компоненты набора данных;
  •  невизуальные компоненты TDataSource;
  •  визуальные компоненты отображения данных.

Пределы Интегралы Вычисление двойного интеграла Изменить порядок интегрирования Объектно-ориентированное программирование Архитектура приложений баз данных Примеры скриптов Высшая математика