Как обрабатывать команду, которую я ничего не знаю О?

Существует четыре вещи делать при обработке неизвестной команды: определить параметры, выполните команду, определить выходные столбцы и увидеть, если есть несколько наборов строк возврата. Для этого с шаблонов потребителей OLE DB, используйте класс CManualAccessor и выполните следующие действия

  1. Открыть объект CCommand с CManualAccessor как параметр шаблона.
    CCommandlt;CManualAccessor, CRowset, CMultipleResults > rs
    
  2. Запросите сеанс для интерфейса IDBSchemaRowset и используйте набор строк параметров процедуры. Если не доступен интерфейс IDBSchemaRowset , запрос для интерфейса ICommandWithParameters . Звоните GetParameterInfo для информации. Если интерфейсы недоступны, можно предположить, что параметров нет.

  3. Для каждого из параметров вызовите AddParameterEntry , чтобы добавить параметры и задавать их.

  4. Откройте набор строк, но параметр bind значение ложь.

  5. Вызовите GetColumnInfo для извлечения выходных столбцов. Используйте AddBindEntry для добавления выходного столбца в привязке.

  6. Вызовите GetNextResult , чтобы определить, доступны ли более наборы строк. Повторите шаги 2-5.

См CDBListView::CallProcedure в образец DBVIEWER для примера.

Index