执行和可选的绑定命令。
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] 执行的命令,作为 Unicode 字符串传递。 可为 NULL 在使用 CAccessor 时,在这种情况下,将从传递给宏 DEFINE_COMMAND 的值检索命令。 参见 OLE DB 程序员参考 中的 ICommand::Execute 查看详细信息。szCommand
[in] 和 wszCommand 一样,但此参数采用 ANSI 命令字符串。 此方法的第四种形式可以接受空值。 之后参见本主题的“备注”了解详细信息。pPropSet
[in] 对数组的指针包含属性和值的结构将 DBPROPSET。 见属性集和属性组在 OLE DB程序员参考在Windows SDK。pRowsAffected
[in/out] 返回命令影响的行计数的内存的指针。 如果 *pRowsAffected 为 NULL,则没有行计数返回。 否则,按照以下条件 打开 设置 *pRowsAffected :如果
那么…
pParams 的 cParamSets 元素大于 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。
备注
打开 前三种形式接受会话,创建命令,然后执行命令,绑定所需要所有参数。
打开 第一个形式采用 Unicode 命令字符串并没有默认值。
打开 第二个形式采用 ANSI 命令字符串和不带默认值 (用于与现有 ANSI 应用程序向后兼容)。
打开 第三个形式允许命令字符串为 NULL,由于具有默认 NULL 值的 int 类型。 因为 NULL 为 int 类型,所以它提供对 Open(session, NULL); 或 Open(session); 的调用。 此版本要求和维护 int 参数为 NULL。
如果已经创建命令,而且您希望完成一次 Prepare (准备) 并执行多次,请使用 打开 的第四种形式。
备注
打开 调用 执行,从而调用 GetNextResult。
要求
标头: atldbcli.h