ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.09.2025

Просмотров: 269

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Компоненты доступа к данным

Компоненты DataSource

Сервер БД

(SQL-сервер)

Клиентское

ПО

Драйвер

dbExpress

Компоненты соединения

Визуальные

компоненты

Драйверы dbExpress (Borland\CBuilder6\BIN);

dbexpint.dll – InterBase

dbexpmysql.dll – MySQL

dbexpora.dll – Oracle

dbexpmss.dll – Microsoft SQL Server

Для соединения с SQl-сервером используется компонент SQLConnection.

Свойства соединения могут быть настроены с помощью Редактора соединений или программно с помощью свойств TString Params

После настройки параметров соединений его можно выбрать (свойство ConnectionName) и открыть (для этого присвоить свойству bool Connected значение true)

Открытие и закрытие соединения может быть выполнено методами:

void Open(void);

void Close(void);

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

bool LoginPrompt;

Значение: true – выводить окно запроса;

false – использовать настройки из dbxconnections.ini;

Текущее состояние соединения можно определить при помощи свойства:

TConnectionState ConnectionState;

enum TConnectionState{

csStateClosed, //закрыто

csStateOpen, // открыто

csStateConnecting, //установление соединения

csStateExecuting, //ожидание исполнения SQL-запроса

csStateFetching, //получения данных с сервера

csStateDisconnecting //Завершение соединения

}

TSQL Connection позволяет выполнить SQL-запросы:

int Execute(const AnsiString SQL, TParams Params, void* ResultSet=Null);

int Execute(const AnsiString SQL, void* ResultSet);

SQL – текст запроса;

Params – параметры запроса (NULL – если не параметров);

ResultSet - если параметр возвращает результат – указатель на объект TCustomSQLDataSet

Для доступа к наборам данных используется компоненты TSQLTable, TSQLQury и TSQLStoredProc. Все они получают доступ к серверу БД с помощью компонента TSQLConnection и свойства


TSQLConnection SQLConnection;

В отличие от BDE являются однонаправленными наборами данных – без буферизации данных в памяти, поэтому редактирование – только с помощью оператора UPDATE.

Другое решение – использовать двунаправленные компоненты TSQLClientDataSet.

В качестве универсального компонента может использоваться TSQLDataSet. Его поведение задаётся свойством

TSQLCommandType CommandType

ctQueery –CommandText содержит SQL-запрос;

ctStoredProc – CommandText содержит имя хранимой процедуры;

ctTable – CommandText содержит имя таблицы (компонент автоматически генерирует запрос для получения всех записей для всех полей)

Для открытия набора данных TSQLDatSet используется свойство Active, метод Open(). Если SQL-запрос не возвращает набор данных, то может использоваться

int ExecSQL(bool ExecDirect = false)

ExecDirect – устанавливается при отсутствии параметров у SQL-запроса.

Пример:

SQLDataSet1->CommandType = ctQuery;

SQLDataSet1->CommandText = “SELECT Name, Weight From Animals”

SQLDataSet1->Open();


  1. Технология ado и спецификации ole db

ADO (ActiveX Data Objects) – альтернативная BDE технология доступа к данным, разработанная Microsoft.

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

Основан на модели объектов COM и спецификации OLE DB. Базовый набор компонентов OLE DB входит в каждую совместную OC из Microsoft.

Файлы

Компоненты доступа к данным

Компоненты DataSource

ADO

Интерфейсы

OLE DB

Базы данных

Компоненты соединения

Электронные таблицы

Визуальные

компоненты

Терминология:

Хранилище данных – любой источник данных (БД, файл, электронная таблица).

Провайдер ADO – посредник, обеспечивающий обращения к хранилищу с запросами и интерпретацию ответов для передаче приложению.

Набор объектов OLE DB:

  • Command – служит для обработки команд (SQL-запросов);

  • Data Source – используется для связи с провайдером данных;

  • Enumerator – служит для пресечения провайдеров ADO;

  • Error – содержит информацию об исключениях;

  • Rowset - строки данных, являющиеся результатом выполнения запроса;

  • Session – набор объектов, обращающихся к одному хранилищу;

  • Transaction – управление транзакциями в OLE DB.