Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vedenie_v_spetsialnost.docx
Скачиваний:
15
Добавлен:
14.04.2015
Размер:
141.36 Кб
Скачать

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

Компоненты 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();

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]