Поделиться через


CCommand::Open

Выполняет и при необходимости привязывает команду.

HRESULT Open(
   const CSession& session,
   LPCWSTR wszCommand,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   const CSession& session,
   LPCSTR szCommand,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   const CSession& session,
   INT szCommand = NULL,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );

Параметры

  • session
    [in] сеанс, в котором выполняется команда.

  • wszCommand
    [in] команду выполнить, передается как строка в юникоде.Может быть NULL при использовании CAccessor, в этом случае команда будет восстановлена от значения, переданного параметру DEFINE_COMMAND макроса.См. раздел ICommand::Execute в справочнике программиста OLE DB.

  • szCommand
    [in] одно и то же, как wszCommand за исключением того, что этот параметр принимает командную строку ANSI.Четвертая форма этого метода может принимать значение Null.См. раздел «примечания» далее в этом разделе.

  • pPropSet
    [in] указатель на массив структур DBPROPSET, содержащий свойства и значения.См. раздел наборы свойств и группы свойств в справочнике программиста OLE DB в Windows SDK.

  • pRowsAffected
    [In/out] указатель на область памяти, где возвращается количество строк, затронутых командой.Если *pRowsAffected возвращается NULL, количество строк.В противном случае - значение Открыть устанавливает *pRowsAffected по следующим условиям:

    If

    Then

    Элемент cParamSetspParams больше 1

    *pRowsAffected представляющее общее число строк, затронутых всеми наборами параметров, указанных в выполнение.

    Число затронутых строк недоступно

    *pRowsAffected набор – 1.

    Команда не обновления не удаляет или вставляет строки

    *pRowsAffected неопределено.

  • guidCommand
    [in] идентификатор GUID, который определяет синтаксис и общие правила для поставщика использовать при анализе текст команды.См. раздел ICommandText::GetCommandText и ICommandText::SetCommandText в справочнике программиста OLE DB.

  • bBind
    [in] определяет, можно ли привязать команду автоматически после быть выполнено.Значение по умолчанию true, которое вызывает команду быть привязанным автоматически.Параметр bBind к false предотвращает автоматическую привязку команды, чтобы можно было выполнить вручную.Ручная привязка (особый интерес представляют интерес для пользователей OLAP).

  • ulPropSets
    [in] число структур DBPROPSET, переданных в аргумент pPropSet.

Возвращаемое значение

Стандартное HRESULT.

Заметки

Первые 3 формы Открыть принимают сеанс, создают команда, и выполняет привязку всех параметров команды по мере необходимости.

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

Вторая форма Открыть не принимает командную строку ANSI и значение по умолчанию (предоставленных для обеспечения обратной совместимости с существующими приложениями ANSI).

Третья форма Открыть позволяет командная строка, чтобы принимать значение null, поскольку тип int со значением по умолчанию NULL.Предоставляется для вызова Open(session, NULL); или Open(session); поскольку NULL типа int.Эта версия требует и утверждает, что параметр int значение null.

Используйте четвертая форму Открыть если вы уже создали команду и необходимо выполнить одно Подготовка и несколько выполнения.

ПримечаниеПримечание

Открыть вызывает Выполнить, которая, в свою очередь, вызывает GetNextResult.

Требования

Header: atldbcli.h

См. также

Ссылки

Класс CCommand