共用方式為


IRowsetChangeImpl 類別

OLE DB 規格中 IRowsetChange 介面的 OLE DB 範本實作。

語法

template <
   class T,
   class Storage,
   class BaseInterface = IRowsetChange,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <RowClass::KeyType, RowClass*>>
class ATL_NO_VTABLE IRowsetChangeImpl : public BaseInterface

參數

T
衍生自 IRowsetChangeImpl的類別。

Storage
用戶記錄。

BaseInterface
介面的基類,例如 IRowsetChange

RowClass
數據列句柄的儲存單位。

MapClass
提供者所持有之所有數據列句柄的儲存單位。

需求

Header: atldb.h

成員

介面方法 (與 IRowsetChange 搭配使用)

名稱 描述
DeleteRows 從數據列集刪除數據列。
InsertRow 將數據列插入數據列集。
SetData 設定一個或多個數據行中的數據值。

實作方法(回呼)

名稱 描述
FlushData 由提供者覆寫,以將數據認可至其存放區。

備註

此介面負責將數據存放區立即寫入作業。 「立即」表示當使用者(使用取用者的人員)進行任何變更時,這些變更會立即傳輸至數據存放區(且無法復原)。

IRowsetChangeImpl 會實作 OLE DB IRowsetChange 介面,以更新現有數據列中的數據行值、刪除數據列,以及插入新的數據列。

OLE DB 樣本實作支援所有基底方法 (SetDataInsertRowDeleteRows) 。

重要

強烈建議您在嘗試實作提供者之前先閱讀下列檔:

IRowsetChangeImpl::DeleteRows

從數據列集刪除數據列。

語法

STDMETHOD (DeleteRows )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBROWSTATUS rgRowStatus[]);

參數

請參閱 OLE DB 程式設計人員參考中的 IRowsetChange::D eleteRows

IRowsetChangeImpl::InsertRow

建立並初始化數據列集中的新數據列。

語法

STDMETHOD (InsertRow )(HCHAPTER /* hReserved */,
   HACCESSOR hAccessor,
   void* pData,
   HROW* phRow);

參數

請參閱 OLE DB 程式設計人員參考中的 IRowsetChange::InsertRow

IRowsetChangeImpl::SetData

設定一個或多個數據行中的數據值。

語法

STDMETHOD (SetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pSrcData);

參數

請參閱 OLE DB 程式設計人員參考中的 IRowsetChange::SetData

IRowsetChangeImpl::FlushData

由提供者覆寫,以將數據認可至其存放區。

語法

HRESULT FlushData(HROW hRowToFlush,
   HACCESSOR hAccessorToFlush);

參數

hRowToFlush
[in]數據列的句柄。 這個數據列的類型是由 類別的 IRowsetImpl RowClass 範本自變數決定的 (CSimpleRow預設)。

hAccessorToFlush
[in]存取子的句柄,其中包含其 PROVIDER_MAP 中的系結資訊和類型資訊(請參閱 IAccessorImpl)。

傳回值

標準 HRESULT。

另請參閱

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