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::Execute
riid。
pParams
[in/out]對應至 中的 ICommand::Execute
pParams。
pcRowsAffected
對應至 中的 ICommand::Execute
pcRowsAffected。
ppRowset
[in/out]對應至 中的 ICommand::Execute
ppRowset。
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
。