共用方式為


ICommandImpl 類別

提供 ICommand 介面的實作。

語法

template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase

參數

T
您的類別衍生自 ICommandImpl

CommandBase
命令介面。 預設值為 ICommand

需求

Header: atldb.h

成員

方法

名稱 描述
取消 取消目前的命令執行。
CancelExecution 取消目前的命令執行。
CreateRowset 建立數據列集物件。
執行 執行 命令。
GetDBSession 傳回建立命令之會話的介面指標。
ICommandImpl 建構函式。

資料成員

名稱 描述
m_bCancel 指出是否要取消命令。
m_bCancelWhenExecuting 指出執行時是否要取消命令。
m_bIsExecuting 指出命令目前是否正在執行。

備註

命令物件上的必要介面。

ICommandImpl::Cancel

取消目前的命令執行。

語法

STDMETHOD(Cancel)();

備註

請參閱 OLE DB 程式設計人員參考中的 ICommand::Cancel

ICommandImpl::CancelExecution

取消目前的命令執行。

語法

HRESULT CancelExecution();

ICommandImpl::CreateRowset

Execute 呼叫以建立單一數據列集。

語法

template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
   REFIID riid,
   DBPARAMS* pParams,
   DBROWCOUNT* pcRowsAffected,
   IUnknown** ppRowset,
   RowsetClass*& pRowsetObj);

參數

RowsetClass
代表用戶數據列集類別的樣板類別成員。 通常由精靈產生。

pUnkOuter
[in]如果數據列集建立為匯總的一部分,則為控制 IUnknown 介面的指標,否則為 null。

riid
[in]對應至 中的ICommand::Executeriid

pParams
[in/out]對應至 中的 ICommand::ExecutepParams

pcRowsAffected
對應至 中的 ICommand::ExecutepcRowsAffected

ppRowset
[in/out]對應至 中的 ICommand::ExecuteppRowset

pRowsetObj
[out]數據列集物件的指標。 通常不會使用此參數,但如果您必須先對數據列集執行更多工作,才能將它傳遞至 COM 物件,就可以使用它。 pRowsetObj存留期由 ppRowset 系結。

傳回值

標準 HRESULT 值。 如需一般值的清單,請參閱 ICommand::Execute

備註

若要建立多個數據列集,或提供您自己的條件來建立不同的數據列集,請將不同的呼叫 CreateRowset 放在 內 Execute

請參閱 OLE DB 程式設計人員參考中的 ICommand::Execute

ICommandImpl::Execute

執行 命令。

語法

HRESULT Execute(IUnknown* pUnkOuter,
   REFIID riid,
   DBPARAMS* pParams,
   DBROWCOUNT* pcRowsAffected,
   IUnknown** ppRowset);

參數

請參閱 OLE DB 程式設計人員參考中的 ICommand::Execute

備註

要求的傳出介面將是從此函式所建立之數據列集物件取得的介面。

Execute 會呼叫 CreateRowset。 覆寫預設實作來建立多個數據列集,或提供您自己的條件來建立不同的數據列集。

ICommandImpl::GetDBSession

傳回建立命令之會話的介面指標。

語法

STDMETHOD (GetDBSession) (REFIID riid,
   IUnknown** ppSession);

參數

請參閱 OLE DB 程式設計人員參考中的 ICommand::GetDBSession

備註

適用於從會話擷取屬性。

ICommandImpl::ICommandImpl

建構函式。

語法

ICommandImpl();

ICommandImpl::m_bCancel

指出命令是否已取消。

語法

unsigned m_bCancel:1;

備註

您可以在命令類別的方法中 Execute 擷取這個變數,並視需要取消。

ICommandImpl::m_bCancelWhenExecuting

指出是否可以在執行時取消命令。

語法

unsigned m_bCancelWhenExecuting:1;

備註

預設值為 true (可以取消)。

ICommandImpl::m_bIsExecuting

指出命令目前是否正在執行。

語法

unsigned m_bIsExecuting:1;

備註

命令 Execute 類別的 方法可以將這個變數設定為 true

另請參閱

OLE DB 提供者範本
OLE DB 提供者範本架構