Programming: Delphi
Иллюстрированный самоучитель по Delphi 7 для профессионалов
Интерфейс ISQLConnection
Интерфейс ISQLConnection обеспечивает работу соединения. Он передает запросы серверу и возвращает результаты, создавая экземпляры интерфейса
iSQLCommand; управляет транзакциями; поддерживает передачу метаданных при
помощи интерфейса ISQLMetaData.
Для открытия соединения используется метод
где ServerName — имя базы данных,
UserName И Password — имя и пароль
пользователя.
Закрывает соединение метод
Параметры соединения управляются методами
function SetOption(eConnectOption: TSQLConnectionOption; lvalue: Longlnt): SQLResult; stdcall;
function GetOption(eDOption: TSQLConnectionOption; PropValue: Pointer; MaxLength: Smalllnt; out Length: Smalllnt): SQLResult; stdcall;
Для обработки запроса, проходящего через соединение, создается интерфейс
ISQLCommand
Обработка транзакций осуществляется тремя методами:
function beginTransaction(TranID: LongWord): SQLResult;
stdcall; function commit(TranID: LongWord):
SQLResult;
stdcall; function rollback(TranID: LongWord): SQLResult; 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 можно получить через свойство
компонента TSQLConnection.
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|