Access 2002

Использование ADO


Хотя ADO не поддерживает метод ISAMStats, данная библиотека объектов позволяет получить предоставляемые названным методом сведения — только иным способом. Он предполагает создание специального набора записей, для чего вызывается метод OpenSchema объекта ADO Connection. Вы указываете этому методу, что хотите получить информацию, специфическую для конкретного средства доступа к данным (Jet OLE DB), а также то, какие именно сведения вас интересуют: таблицы в базе данных, поля в таблицах и т. п. Поскольку получение данных выполняется недокументированным способом, специальной константы для наших статистических данных не существует. Вместо нее вы должны задать «магическое число» (GUID). Метод OpenSchema вернет объект Recordset с запрошенной вами информацией.

Однако прежде чем начать работу со статистическими данными, вам нужно их обнулить. Если в DAO это можно сделать для каждого счетчика отдельно, то в ADO счетчики сбрасываются только все вместе. Для этого устанавливается значение специального свойства объекта Connection, вот так:

После сброса счетчиков можно выполнить действие, которое вы хотите протестировать (например, сделать запрос к базе данных), а потом получить статистические сведения об этом действии. Последнее выполняется с помощью вызова метода OpenSchema объекта ADO Connection, возвращающего объект Recordset с единственной записью, содержащей нужные вам данные:

Да-да, вы должны передать методу OpenSchema этот длинный и с виду бессмысленный идентификатор. И, разумеется, его не нужно набирать вручную, а лучше копировать из модуля basIsamStats через буфер обмена Windows.

Комментарии закрыты