Интерфейс 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.

 


Знаете ли Вы, что релятивистское объяснение феномену CMB (космическому микроволновому излучению) придумал человек выдающейся фантазии Иосиф Шкловский (помните книжку миллионного тиража "Вселенная, жизнь, разум"?). Он выдвинул совершенно абсурдную идею, заключавшуюся в том, что это есть "реликтовое" излучение, оставшееся после "Большого Взрыва", то есть от момента "рождения" Вселенной. Хотя из простой логики следует, что Вселенная есть всё, а значит, у нее нет ни начала, ни конца... Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution