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] указатель на адрес памяти, возвращается число строк, затронутых командой. Если *pRowsAffectedNULL, количество строк не возвращается. В противном случае Открыть задает *pRowsAffected в соответствии с следующим условиям:If
То
Элемент 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.
Требования
Заголовок: atldbcli.h