Автор работы: Пользователь скрыл имя, 20 Октября 2009 в 15:59, Не определен
Загайнов И.А. Проектирование информационных систем: Конспект мультимедиа лекций для студентов специальностей 050704 – Вычислительная техника и программное обеспечение, 050703 – Информационные системы.
Создания модуля данных.
Работы с компонентами доступа к БД.
Использования компонентов наборов данных.
Видимости данных приложений Console и Expert.
Управления транзакцией и видимостью данных.
10.1
Технологии доступа.
Технология работы с базами данных SQL – сервера «InterBase Express».
Основные компоненты и их использование.
Настройка соединения с БД.
Обновление наборов данных, формируемых при помощи SQL – операторов.
Технология Borland Database Engine (BDE).
Утилита «BDE Administrator».
Установка псевдонима БД.
Основные компоненты для работы с БД.
Тестирование функций
компонентов модуля данных.
10.2 Определение.
Технология
доступа в
10.3 Реализация в Delphi
.
Технологии
доступа к БД, поддерживаемые стандартным
набором библиотек среды разработки Delphi:
Технология БД Компонент соединения
The Borland Database Engine (BDE). TDatabase
ActiveX Data Objects (ADO). TADOConnection
dbExpress.
InterBase Express. TIBDatabase
10.4 Архитектура
.
Архитектура
технологии доступа – иерархический
набор драйверов и
10.5 IBExpress
.
Библиотека
компонентов реализующих
10.6 Модуль данных
.
Не визуальный компонент реализуется как окно - контейнер для помещения в него компонент для работы с БД (TDataBase, TTable, TQuery, TStoredProc). А также, если необходимо, обработчиков событий этих компонентов и объектов полей соответствующих НД.
10.7 IBDataBase
.
Настройка основных свойств компонента IBDataBase подразумевает определение следующих параметров:
DataBaseName - для определения каталога и имени серверной базы данных;
Default Transaction – связный компонент транзакции, обязательно;
Params - определение параметров авторизации, задаваемых в редакторе компонента;
LoginPrompt - определяет режим авторизации, при значении true запрос диалога на ввод имени пользователя и пароля обязателен;
SQLDialect – определяет диалект, используемый при создании БД;
Connected – логическое свойство, показывающее активность соединения.
10.8 Редактор компонента
.
Задание имени пользователя (SYSDBA) и пароля (masterkey) выполняется в редакторе объекта, как показано рисунке:
Свойство AllowStreamedConnected (значение по умолчанию - true), определяет, что соединение автоматически будет устанавливаться, не зависимо от свойства Connected, при выполнении любого запроса к данным или БД.
Свойство IdleTimer определяет интервал ожидания перед автоматическим завершением соединения.
10.9 Наборы данных
.
Компоненты распространенных технологий:
BDE | InterBaseExpress | dbExpress | ADO |
TBDEDataSet
TDBDataSet TTable TQuery TStoredProc |
TIBCustomDataSet
TIBDataSet TIBTable TIBQuery TIBStoredProc |
TCustomSQLDataSet
TSQLDataSet TSQLTable TSQLQuery TSQLStoredProc |
TCustomADODataSet
TADODataSet TADOTable TADOQuery TADOStoredProc |
Все технологии используют однотипные наборы компонентов.
10.10 IBTable
.
Компонент IBTable является наиболее простым способом обращения к конкретной таблице базы данных.
Основные свойства:
DatabaseName - имя БД, содержащую искомую таблицу;
TableName - имя таблицы, на стадии проектирования выбирается из выпадающего списка;
Active - указывает, открыта (true) или нет (false) данная таблица;
ReadOnly - если это свойство равно true, таблица открыта в режиме "только для чтения";
Fields - массив объектов TField;
Eof, Bof - эти свойства принимают значение true, когда указатель текущей записи расположен на последней или соответственно первой записи таблицы;
RecordCount - возвращает общее число записей набора данных.
10.11 Вопрос
.
Какая функция используется в приложении клиента для получения списка имен полей таблицы серверной БД?
1. Table1.Fields().
2. Table1.Fields[2].AsString.
3. Table1.Fields[*].AsString.
4. Table1.Fields[*].Value.
5. Нет правильного ответа.
10.12 Состояния НД
.
В каждый момент времени набор данных находится в определенном состоянии:
10.13 Методы управления НД
.
Методы компонента реализуют набор основных функций по управлению:
Open и Close устанавливающие значения свойства Active равными True и False соответственно.
Append, Insert – переводят НД в режим добавления записи, или на место курсора или в конец набора.
Edit – переводит в режим редактирования.
Delete – удаление текущей записи.
Post, Cancel – закрытие НД с сохранением и без сохранения изменений.
Refresh - позволяет заново считать набор данных из БД или из файла.
10.14 Навигация по набору
.
Реализация принципа навигации по НД осуществляется чаще всего с помощью методов и свойств компонента TDataSet:
First – первая запись таблицы (DataModule1.Table1.First);
Last – последняя запись таблицы (DataModule1.Table1. Last);
Next – следующая запись таблицы (DataModule1.Table1.Next);
Prior – предыдущая запись таблицы (DataModule1.Table1.Prior);
RecNo – переход к записи по указанному номеру:
DataModule1.Table1.RecNo:=
10.15 Пример использования
.
Например, код обработки всех записей таблицы может выглядеть так:
Table1.First;
while not Table1.Eof do
begin
//выполняем действие над записью.
Table1.Next;
end;
10.16 События НД
.
По паре методов-обработчиков (до и после события) предусмотрено для следующих событий в наборе данных:
10.17 Поля наборов
.
Поля наборов данных реализованы специальным классом TField.
Доступ из программы к индивидуальным полям записи осуществляется при помощи одного из следующих свойств или методов, каждый из которых принадлежат TDataSet:
property Fields[Index: Integer];
function FieldByName(const FieldName: string): TField;
Свойство FieldCount возвращает число полей в текущей структуре записи
property FieldCount;
10.18 Пример
.
Заполнение списка ListBox значениями поля:
procedure TForm1.ValuesClick(Sender: TObject);
var
i: Integer;
begin
ListBox2.Clear;
for i := 0 to Table1.FieldCount - 1 do
ListBox.Items.Add(Table1.
end;
счетчик изменяется от нуля до FieldCount - 1.
10.19 TQuery
.
Основное назначение это выполнение практически любого SQL – оператора:
1. Выполнять операторы языка SQL для управления метаданными:
CREATE …
ALTER …
DROP …
2. Выполнять операторы управления данными:
INSERT …
UPDATE …
DELETE …
3. Выполнять оператор SELECT … для формирования локального набора данных, включая вызов хранимых процедур.
10.20 Вопрос.
Один компонент запроса используется для формирования нескольких наборов данных, при помощи выполнения оператора SELECT с различными значениями параметра. Возможно ли, выполнять следующий запрос и одновременно редактировать ранее сформированный набор данных?
10.21 Кэширование данных
.
Кэширование данных производится при помощи объекта:
IBClientDataSet1.SaveToFile('
10.22 Содержание отчета
.
Название проекта, с перечислением реализуемых функций для каждого типа пользователей;
Описание состава проекта, основные модули и их назначение;
Изображение окна модуля данных проекта с наборами сформированных компонентов;
Настройка соединения с БД (пути, параметры), авторизация;
Описание основных компонентов их назначение и необходимые значения свойств (код используемых операторов);
Описание параметров управления транзакциями, результаты тестирования различных режимов видимости данных.