Интерфейс
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.
Вещество и поле не есть что-то отдельное от эфира, также как и человеческое тело не есть что-то отдельное от атомов и молекул его составляющих. Оно и есть эти атомы и молекулы, собранные в определенном порядке. Также и вещество не есть что-то отдельное от элементарных частиц, а оно состоит из них как базовой материи. Также и элементарные частицы состоят из частиц эфира как базовой материи нижнего уровня. Таким образом, всё, что есть во вселенной - это есть эфир. Эфира 100%. Из него состоят элементарные частицы, а из них всё остальное. Подробнее читайте в FAQ по эфирной физике.