Использование методов ручного доступа
При обработке неизвестной команды необходимо выполнить четыре действия.
Определение параметров
Выполнение команды
Определение выходных столбцов
Узнайте, есть ли несколько возвращаемых наборов строк
Чтобы выполнить эти действия с помощью шаблонов потребителей OLE DB, используйте CManualAccessor
класс и выполните следующие действия:
CCommand
Откройте объект сCManualAccessor
параметром шаблона.CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Запросите сеанс для
IDBSchemaRowset
интерфейса и используйте набор строк параметров процедуры.IDBSchemaRowset
Если интерфейс недоступен, запроситеICommandWithParameters
интерфейс. ВызовGetParameterInfo
сведений. Если ни какой-либо интерфейс недоступен, можно предположить, что нет параметров.Для каждого параметра вызовите
AddParameterEntry
добавление параметров и задайте их.Откройте набор строк, но задайте для параметра
false
привязки значение .Вызов для
GetColumnInfo
получения выходных столбцов. ИспользуйтеAddBindEntry
для добавления выходного столбца в привязку.Вызов
GetNextResult
, чтобы определить, доступны ли дополнительные наборы строк. Повторите шаги со 2 по 5.
Пример ручного доступа см CDBListView::CallProcedure
. в примере DBVIEWER .