Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных / Разработка клиентского приложения для работа с базой данных в Turbo Delphi.doc
Скачиваний:
91
Добавлен:
18.03.2015
Размер:
911.87 Кб
Скачать

Подключение набора данных

Компонент доступа к данным является основой приложения баз данных. На основе выбранной таблицы БД он создает набор данных и позволяет эффективно управлять им. В процессе работы такой компонент тесно взаимо­действует с функциями соответствующей технологии доступа к данным. Обычно доступ к функциональности технологии доступа к данным осуще­ствляется через совокупность интерфейсов. Все компоненты доступа к дан­ным являются невизуальными.

На первом этапе необходимо подключиться к базе данных. Для этого будем пользоваться компонентом TADOConnection.

Разместите в модуле данных (DataMod.pas) компонентTADOConnection.

Кликните на компонент два раза

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

Нажмите Build…

В окне выбираем LCPI OLE Provider for InterBase (v3) Free

!!! Данный поставщик будет доступен, только после установки приложения IBProvider_free !!!

Нажимаем Далее>>и внимательно заполните поля, следуя образцу:

На вкладке «Дополнительно» и укажите в поле «Тип» Firebird 1.5 и «Динамическая библиотека»fbclient.dll

Вернитесь в предыдущую вкладку «Подключение».

Затем после нажатия кнопки «Проверить подключение»должно появиться следующее окно

Что свидетельствует о доступности СУБД.

Теперь нажмите ОК– в строке «UseConnectionString» появилась строка настройки БД, а затем нажмите еще разОК.

Для компонента ADOConnectionперейдите на вкладкуProperties (Свойства)Инспектора Объектови укажите в свойствеLoginPromptзначениеFalse. Что позволит запомнить пароль на подключение к БД.

Теперь установите соединение с БД. Для этого перейдите в свойство Connectedи выберитеTrue.

Если не будет выдано сообщение об ошибке, то подключение к вашей БД прошло успешно.

Набор данных, Доступ к таблицам бд

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

1. Подключишь компонент к базе данных. Для этого используется свойство Connection.

2. Подключить к компоненту таблицу БД. Для этого воспользуемсяSQLзапросом к БД.

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

4. Активизировать связь между компонентом и таблицей БД. Для этого ис­пользуется свойствоActive. Если в Инспекторе объектов присвоить это­му свойству значениеTrue, то связь активизируется. Эту операцию мож­но выполнить и в исходном коде приложения. Также существует методOpen, который открывает набор данных, и методClose, закрывающий его.

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

Основные свойства и методы:

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

property Active: Boolean;

или методами Open(открытие) иClose(закрытие).

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

procedure Edit;

Для сохранения сделанных изменений применяется метод

procedure Post; virtual;

Разработчик может вызывать его самостоятельно, или же метод Postвызы­вается самим набором данных при переходе на другую запись.

При необходимости все сделанные после последнего вызова метода Postизменения можно отменить методом

procedure Cancel; virtual;

Текущая запись удаляется методом

procedure Delete;

При этом набор данных не выдает никаких предупреждений, а просто делает это.

Будем пользоваться компонентом ADODataSet(наследник классаTDataSet)для доступа к отдельным таблицам. Разместим в модулеDataMod.pasкомпонентыADODataSet . Для каждой существующей таблицы в БД создадим отдельный компонентADODataSetи назовем (свойствоName) их в соответствии с именем таблицы: например, для таблицыPrepodADODataSetPrepod, дляSubjectADODataSetSubjectи т.д. Для каждого из компонентов необходимо указать следующие свойства:

CommandText– в данном свойстве указываетсяSQLзапрос к базе на получение данных. Для того чтобы получить полную структуру таблиц, будем писать запросы следующего вида:

Select *

From <имя таблицы>

Для каждого компонента, нажав на свойство CommandText откроем окно редактора. В данном окне напишим запрос к БД

Для каждого компонента ADODataSetв свойствеConnectionукажите источник данных –ADOConnection1. (т.е все данные беруться из базы указанной в этом компоненте)

Теперь можно активировать доступ к данным указав в свойстве Action=True.

Всегда следите чтобы данное свойство было равно True. В противном случае доступ к данным будет не возможен.

Теперь нажмите на любой из компонентов ADODataSet, откроется окно вида:

Добавьте для отображения все доступные поля командой Add all fieldsДля каждого из полей можно задать следующие свойства:

AutoGenerateValue– для первичного ключа укажите значениеarAutoInc

DisplayLabel– можно писать киррилицей название поля для отображения.

EditMask– маска ввода

Index– номер поля (нумерация начинается с нуля)

ReadOnly– поле только для чтения

Required– поле обязательно для заполнения

Visible– настройка видимости. Для полей которые не нужно отображать (например первичные ключи) можно указатьfalse.

Проведите подобные действия для каждого компонента ADODataSet.