V\HTep<benclSQLCursor

Интерфейс ISQLCursor обладает совокупностью методов, которые помогут получить информацию о полях курсора, а также значения этих полей. Все эти методы имеют одинаковое представление. Для получения нужной информации необходимо задать порядковый номер поля в структуре курсора.

Метод

function next: SQLResult;
stdcall;

обновляет курсор, занося в него информацию из следующей строки набора данных.

Интерфейс ISQLCursor используется компонентом TCustomSQLDataSet и недоступен потомкам.

Отладка приложений с технологией dbExpress

Наряду с обычными методами отладки исходного кода, в dbExpress существует возможность контроля запросов, проходящих на сервер через соединение. ДЛЯ ЭТОГО ИШОЛЬЗугТСЯ КОМПОНеНТ TSQLMonitor.

Через свойство

property SQLconnection: TSQLCjonnection;

компонент связывается с отлаживаемым соединением.

Затем компонент включается установкой Active = True.

Теперь во время выполнения приложения сразу после открытия соединения свойство

property TraceList: TStrings;
будет заполняться информацией обо всех проходящих командах. Содержимое этого списка можно сохранить в файле при помощи метода procedure SaveToFile(AFileName: string);

Эту же информацию можно автоматически добавлять в текстовый файл, определяемый свойством

property FileName: string;

но только тогда, когда свойство

property AutoSave: Boolean;

будет иметь значение True.

Свойство

property MaxTraceCount: Integer;

определяет максимальное число контролируемых команд, а также управляет процессом контроля. При значении -1 ограничения снимаются, а при значении 0 контроль останавливается.

Текущее число проверенных команд содержится в свойстве

property TraceCount: Integer;

Перед записью команды в список вызывается метод-обработчик

TTraceEvent = procedure(Sender: TObject;
CBInfo: pSQLTRACEDesc;
var LxsgTrace: Boolean) of object;
property CnTrace: TLraceEvent;

а сразу после записи в список вызывается

TIraceLogEvent = procedure (Sender: TObject;
CBPnfo: pSQLTRACEDesc) of object;
prcperty CnLcigTrace: TTraceLogEvent ;

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

Если же компонент TSQLMonitDr не подходит, можно воспользоваться методом

procedure SetTraceCallbackEvent(Event: TSQLCallbackEvent; IClientlnfo:

Integer);

компонента TSQLConnection. Параметр процедурного типа Event определяет функцию, которая будет вызываться при выполнении каждой команды. Параметр iciientinf о должен содержать любое число.

Он позволяет разработчику самостоятельно определить функцию типа

TSQLCallbackEvent:

TRACECat = TvpedEnum;
TSQLCallbackEvent = function(CallType: TRACECat;
CBTnfo: Pointer): CBRType;
stdcall;

Эта функция будет вызываться каждый раз при прохождении команды. Текст команды будет передаваться в буфер CBinfo. Разработчику необходимо лишь выполнить запланированные действия с буфером внутри функции.

Рассмотрим в качестве примера следующий исходный код.

function GetTracelnfо(CallType: TRACECat;
CBinfo: Pointer): CBRType;

⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс