Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения .doc
Скачиваний:
204
Добавлен:
06.03.2016
Размер:
3.8 Mб
Скачать
      1. Объектно-реляционное отображение

Данный слой состоит из классов, которые с помощью драйверов доступа к БД осуществляют взаимодействие с СУБД. На рисунке 6.2 приведён пример базовых классов, на основе которых можно строить слой объектно-реляционного отображения.

Рисунок 6.28 – Классы объектно-реляционного отображения

В таблице приведено описание классов, изображённых на рисунке 6.2.

Таблица 6.13

Описание базовых классов объектно-реляционного отображения

Имя класса

Описание

TConnection

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

TTransactionObject

Предназначен для управления транзакцией (открытие, закрытие, откат)

TDBObject

Предназначен для работы с базой данных. Использует классы TConnection и TTransactionObject

TExecuteObject

Обеспечивает работу с SQL.

Характеристики класса «TConnection»

Свойства класса TConnection представлены в таблице 6.5.

Таблица 6.14

Свойства класса TConnection

Название

Описание

ServerName: string

Сетевое имя сервера СУБД

DataBaseName: string

Полный локальный путь к файлу БД

UserName: string

Имя пользователя СУБД используемое для авторизации

Password: string

Пароль доступа к СУБД

DataBase: TIBDatabase

Компонент доступа к базе данных, с которой работает объект

TransactionObject: TTransactionObject

Транзакцию, с которой работает объект

Методы класса TConnectionпредставлены в таблице6.6.

Таблица 6.15

Методы класса TConnection

Название

Описание

Connect()

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

Disconnect()

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

Характеристики класса «TTransactionObject»

Класс TTransactionObject является оболочкой к компоненту TIBTransaction, реализующего функции по работе с транзакциями. Свойства класса TTransactionObject представлены в таблице 6.7.

Таблица 6.16

Свойства класса TTransactionObject

Название

Описание

Transaction: TIBTransaction

Определяет с какой транзакцией работает объект.

InTransaction: Boolean

Определяет запущена ли транзакция у объекта.

Методы класса TTransactionObject представлены в таблице 6.8.

Таблица 6.17

Методы класса TTransactionObject

Название

Описание

StartTransaction()

Запуск транзакции

Commit()

Подтверждение транзакции

Rollback()

Отмена транзакции

Характеристики класса «TDBObject»

Поля класса TDBObject представлены в таблице 6.9.

Таблица 6.18

Поля класса TDBObject

Название

Описание

fOwn_transaction: Boolean

Определяет использует ли объект свою транзакцию или чужую переданную при создании класса.

Свойства класса TDBObject представлены в таблице 6.10.

Таблица 6.19

Свойства класса TDBObject

Название

Описание

Connection: TConnection

Подключение, используемое данным объектом.

TransactionObject: TTransactionObject

Транзакция, используема данным объектом

Класс TDBObject содержит те же методы что и класс TTransactionObject для реализации возможности работы со своей собственной транзакцией. Соответственно если он использует чужую транзакцию, он ничего не может с ней делать. Методы класса TDBObject представлены в таблице 6.11.

Таблица 6.20

Методы класса TDBObject

Название

Описание

StartTransaction()

Запуск транзакции

Commit()

Подтверждение транзакции

Rollback()

Отмена транзакции

Характеристики класса «TExecuteObject»

Класс TExecuteObject выполняет команды SQL и является оболочкой к компоненту TIBQuery, который работает с семейством СУБД BorlandIB. Свойства компонента TExecuteObject представлены в таблице 6.12.

Таблица 6.21

Свойства класса TExecuteObject

Название

Описание

nfi[name: string]: Integer

Свойство доступа к полям набора данных. Используется, когда поле является целочисленным.

nfs[name: string]: string

Свойство доступа к полям набора данных. Используется, когда поле является строковым.

nff[name: string]: Extended

Свойство доступа к полям набора данных. Используется, когда поле является дробным.

Методы класса TExecuteObject представлены в таблице 6.13.

Таблица 6.22

Методы класса TExecuteObject

Название

Описание

ExecuteQuery(sql: string; params: array of variant)

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

SelectQuery(sql: string; params: array of variant; FetchAll: boolean=false)

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

SelectStrings(sql: string; params: array of variant): TStringList

Метод, выполняющий запрос к базе данных и возвращающий коллекцию строк в классе TStringListиз первого поля запроса