Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа7.doc
Скачиваний:
5
Добавлен:
06.11.2018
Размер:
461.82 Кб
Скачать
    1. Компоненты для работы с бд

Компоненты для работы с БД в Delphi хранятся на страницах:

  1. Data Access (невизуальные компоненты для доступа к данным);

  2. Data Controls (визуальные компоненты для интерфейса с пользователем);

  3. QReport (компоненты для построения отчетов, выводимых на печать);

  4. Midas (компоненты управления удаленными БД);

  5. ADO (компоненты управления удаленными БД поддерживающими ADO);

  6. Decision Cube (компоненты построения систем принятия решений);

  7. InterBase (компоненты для работы с сервером БД - Interbase);

  8. Internet (компоненты генерирующие html-страницы использующие данные БД).

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

    1. Создание простейшего приложения

Для начала создадим приложение, которое просто выводит какую-либо таблицу (для определенности “c:\work\NewTable.db”) на экран, позволяет по ней перемещаться, создавать, редактировать и удалять ее записи.

Для этого разместите на форме компоненты Table1 и DataSource1 со страницы Data Access палитры компонент, и DBGrid1 и DBNavigator1 со страницы Data Controls. Для связи с файлом таблицы используется компонент Table1, для этого задайте его свойства DataBaseName - путь к БД, TableName - имя таблицы и сделайте его активным Active =True (именно в этом порядке!). Компонент DataSource1 является связующим звеном между Table1 и визуальными компонентами, установите значение его свойства DataSet - Table1. Теперь осталось “привязать” DBGrid1 и DBNavigator1 к DataSource1, задав их свойство DataSource - DataSource1. Таким образом, мы изменили свойства компонент:

Компонент

Свойства

Значения

Table1

DataBaseName TableName Active

C:\work NewTable.db True

DataSource1

DataSet

Table1

DBGrid1

DataSource

DataSource1

DBNavigator1

DataSource

DataSource1

Все. Запускаем приложение.

    1. Режимы наборов данных

Возможность доступа к БД обеспечивают компоненты Table и Query, задающие наборы данных.

Наборы данных могут находиться в различных режимах. Текущий режим набора определяется доступным для чтения свойством State. Изменение режима осуществляется специальными методами или является результатом работы с визуальными компонентами. Режимы работы набора:

  • dsBrowse – осуществляется навигация по записям набора и просмотр данных;

  • dsInactive – неактивность, т.е. набор закрыт. Переход в этот режим осуществляется вызовом метода Open (или Active:=False), выход – метода Close (или Active:=True);

  • dsEdit – редактирование текущей записи. Переход в этот режим осуществляется вызовом метода Edit, выход с сохранением изменений – метод Post, без сохранения – метод Cancel;

  • dsInsert – вставка новой записи. Переход в этот режим осуществляется вызовом метода Insert, выход – методы Post или Cancel;

  • кроме этих режимов есть несколько промежуточных. Например, в начале открытия набора данных режим dsInactive меняется на dsOpening, затем выполняются команды открытия и только после этого режим становится dsBrowse.

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

При изменении режима набора данных для источника данных DataSource генерируется событие OnStateChange. Рассмотрим пример использования обработчика этого события:

procedure TForm1.DataSource1StateChange(Sender: TObject);

begin

case DataSource1.State of

dsInactive: StatusBar.SimpleText:='Набор данных' + DataSet.Name + ' закрыт';

dsBrowse: StatusBar.SimpleText:='Просмотр набор данных ' + DataSet.Name;

dsEdit:StatusBar.SimpleText:='Редактирование набора данных ' + DataSet.Name;

dsInsert:StatusBar.SimpleText:='Вставка записи в набор данных ' + DataSet.Name;

else

StatusBar.SimpleText:='Неопределенный режим набора данных ' + DataSet.Name;

end;

end;