Skip to content

Latest commit

 

History

History
155 lines (102 loc) · 4.97 KB

File metadata and controls

155 lines (102 loc) · 4.97 KB
description Learn more about: IRowsetChangeImpl Class
title IRowsetChangeImpl Class
ms.date 11/04/2016
f1_keywords
ATL::IRowsetChangeImpl
IRowsetChangeImpl
ATL.IRowsetChangeImpl
ATL.IRowsetChangeImpl.DeleteRows
ATL::IRowsetChangeImpl::DeleteRows
IRowsetChangeImpl.DeleteRows
DeleteRows
IRowsetChangeImpl::DeleteRows
ATL.IRowsetChangeImpl.InsertRow
InsertRow
IRowsetChangeImpl.InsertRow
ATL::IRowsetChangeImpl::InsertRow
IRowsetChangeImpl::InsertRow
IRowsetChangeImpl::SetData
ATL.IRowsetChangeImpl.SetData
IRowsetChangeImpl.SetData
ATL::IRowsetChangeImpl::SetData
IRowsetChangeImpl::FlushData
IRowsetChangeImpl.FlushData
FlushData
helpviewer_keywords
providers, updatable
updatable providers, immediate update
IRowsetChangeImpl class
DeleteRows method
InsertRow method
SetData method
FlushData method
ms.assetid 1e9fee15-ed9e-4387-af8f-215569beca6c

IRowsetChangeImpl Class

The OLE DB Templates implementation of the IRowsetChange interface in the OLE DB specification.

Syntax

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

Parameters

T
A class derived from IRowsetChangeImpl.

Storage
The user record.

BaseInterface
The base class for the interface, such as IRowsetChange.

RowClass
The storage unit for the row handle.

MapClass
The storage unit for all row handles held by the provider.

Requirements

Header: atldb.h

Members

Interface Methods (Used with IRowsetChange)

Name Description
DeleteRows Deletes rows from the rowset.
InsertRow Inserts a row into the rowset.
SetData Sets data values in one or more columns.

Implementation Method (Callback)

Name Description
FlushData Overridden by provider to commit data to its store.

Remarks

This interface is responsible for immediate write operations to a data store. "Immediate" means that when the end user (the person using the consumer) makes any changes, those changes are immediately transmitted to the data store (and cannot be undone).

IRowsetChangeImpl implements the OLE DB IRowsetChange interface, which enables updating of values of columns in existing rows, deleting rows, and inserting new rows.

The OLE DB Templates implementation supports all the base methods (SetData, InsertRow, and DeleteRows).

Important

It is strongly recommended that you read the following documentation BEFORE attempting to implement your provider:

IRowsetChangeImpl::DeleteRows

Deletes rows from the rowset.

Syntax

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

Parameters

See IRowsetChange::DeleteRows in the OLE DB Programmer's Reference.

IRowsetChangeImpl::InsertRow

Creates and initializes a new row in the rowset.

Syntax

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

Parameters

See IRowsetChange::InsertRow in the OLE DB Programmer's Reference.

IRowsetChangeImpl::SetData

Sets data values in one or more columns.

Syntax

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

Parameters

See IRowsetChange::SetData in the OLE DB Programmer's Reference.

IRowsetChangeImpl::FlushData

Overridden by provider to commit data to its store.

Syntax

HRESULT FlushData(HROW hRowToFlush,
   HACCESSOR hAccessorToFlush);

Parameters

hRowToFlush
[in] Handle to the rows for the data. The type of this row is determined from the RowClass template argument of the IRowsetImpl class (CSimpleRow by default).

hAccessorToFlush
[in] Handle to the accessor, which contains binding information and type information in its PROVIDER_MAP (see IAccessorImpl).

Return Value

A standard HRESULT.

See also

OLE DB Provider Templates
OLE DB Provider Template Architecture