На главную страницу
Форум txt.version   




Статья :: Интерфейс ISQLConnection

 

Интерфейс ISQLConnection

Интерфейс ISQLConnection обеспечивает работу соединения. Он передает запросы серверу и возвращает результаты, создавая экземпляры интерфейса iSQLCommand; управляет транзакциями; поддерживает передачу метаданных при помощи интерфейса ISQLMetaData.

Для открытия соединения используется метод

function connect(ServerName: PChar; UserName: PChar; Password: PChar): SQLResult; stdcall;

где ServerName — имя базы данных, UserName И Password — имя и пароль пользователя.

Закрывает соединение метод

function disconnect: SQLResult; stdcall;

Параметры соединения управляются методами

function SetOption(eConnectOption: TSQLConnectionOption; lvalue: Longlnt): SQLResult; stdcall;

function GetOption(eDOption: TSQLConnectionOption; PropValue: Pointer; MaxLength: Smalllnt; out Length: Smalllnt): SQLResult; stdcall;

Для обработки запроса, проходящего через соединение, создается интерфейс ISQLCommand 

function getSQLCommand(out pComm: ISQLCommand): SQLResult; stdcall;

 Обработка транзакций осуществляется тремя методами:

function beginTransaction(TranID: LongWord): SQLResult;

 stdcall; function commit(TranID: LongWord): SQLResult;

 stdcall; function rollback(TranID: LongWord): SQLResult; stdcall;

При помощи метода

function getErrorMessage(Error: PChar): SQLResult; overload; stdcall;

организована обработка исключительных ситуаций в компоненте TSQLConnection. В нем реализована защищенная процедура SQLError, которую можно использовать в собственных компонентах и при необходимости дорабатывать.

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

procedure CheckError(IConn: ISQLConnection);

 var FStatus: SQLResult;

FSize:SmallInt;

FMessage: pChar;

begin

FStatus := IConn.getErrorMessageLen(FSize); 

if (FStatus = SQL_SUCCESS)and(FSize > 0) then

 begin

FMessage := AllocMem(FSize + I);

 FStatus := IConn.getErrorMessage(FMessage);

 if FStatus = SQL_SUCCESS

then MessageDlg (FMessage, mtError, [rnbOK] , 0)

 else

 MessageDlg('Checking error', mtWarning, [mbOK], 0) ;

 if Assigned(FMessage)

then FreeMem(FMessage);

 end;

 end;

Доступ к интерфейсу isQLConnection можно получить через свойство

 property SQLConnection: ISQLConnection; 

компонента TSQLConnection.

 

Интерфейс ISQLConnection

страницы в данном разделе 
 ГЛАВА 17  ГЛАВА 17Технология dbExpress
 Драйверы доступа к данным  Соединение с сервером баз данных
 Управление наборами данных  Транзакции
 Использование компонентов наборов данных  Класс TCustomSQLDataSet
 Компонент TSQLDataSet  Компонент TSQLTable
 Компонент TSQLQuery  Компонент TSQLStoredProc
 Компонент TSimpleDataSet  Способы редактирования данных
 Интерфейсы dbExpress  Интерфейс ISQLDriver
 Интерфейс ISQLConnection  Интерфейс ISQLCommand
 Интерфейс ISQLCursor  Отладка приложений с технологией dbExpress
 Распространение приложений с технологией dbExpress  Резюме


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста