IRowsetUpdate:IRowsetChange

IRowsetUpdate enables consumers to delay the transmission of changes made with IRowsetChange to the data source. This interface also enables consumers to undo changes before transmission.

If IRowsetUpdate is exposed on the rowset, then changes made through IRowsetChange are buffered in the rowset and not transmitted to the data source until IRowsetUpdate::Update is called. This is known as delayed update mode. If IRowsetUpdate is not exposed on the rowset, then changes made through IRowsetChange are immediately transmitted to the data source. This is known as immediate update mode.

The consumer calls the methods in IRowsetChange to update, delete, and insert rows. The rowset buffers these changes. When the consumer is ready to transmit these changes to the data source, it calls Update. Before calling Update, the consumer can back out any changes with Undo.

Method Description
GetOriginalData Gets the data most recently fetched from or transmitted to the data source. Does not get values based on pending changes.
GetPendingRows Returns a list of rows with pending changes.
GetRowStatus Returns the status of rows.
Undo Undoes any changes made to a row since it was last fetched or since Update was called for it.
Update Transmits any changes made to a row since it was last fetched or since Update was called for it.

IRowsetUpdate::GetOriginalData

Gets the data most recently fetched from or transmitted to the data source. Does not get values based on pending changes. For information on how this interface is implemented, see the OLE DB Programmer’s Reference.

IRowsetUpdate::GetPendingRows

Returns a list of rows with pending changes. For information on how this interface is implemented, see the OLE DB Programmer’s Reference.

IRowsetUpdate::GetRowStatus

Returns the status of rows. For information on how this interface is implemented, see the OLE DB Programmer’s Reference.

IRowsetUpdate::Undo

Undoes any changes made to a row since it was last fetched or Update was called for it. For information on how this interface is implemented, see the OLE DB Programmer’s Reference.

IRowsetUpdate::Update

Transmits any changes made to a row since it was last fetched or Update was called for it. For information on how this interface is implemented, see the OLE DB Programmer’s Reference.