IRowsetRefresh is used to retrieve the values for rows that are currently visible to the transaction.

IRowsetRefresh is optional. If it is exposed, the rowset must also expose IRowsetIdentity.

To support IRowsetRefresh, the provider must be able to get the latest value of the data that is visible to the transaction. If the value of the DBPROP_OTHERUPDATEDELETE property is VARIANT_TRUE, such as when the rowset is implemented on top of a dynamic or keyset-driven cursor in ODBC, the rowset can do this by the mechanism it uses to fetch rows from the server. However, if the value of DBPROP_OTHERUPDATEDELETE is VARIANT_FALSE, such as when the rowset is implemented on top of a static cursor in ODBC, the rowset must have another mechanism for retrieving data from the data store, such as executing a separate command to retrieve the currently visible values. If the rowset does not have such a mechanism, it cannot support this interface.

IRowsetRefresh is used to synchronize rows in the rowset with those in the data store. The primary uses of IRowsetRefresh are as follows:

  • To implement optimistic concurrency.

  • To perform row fix-up in a disconnected environment.




Gets the most recent data either from the provider-implemented data cache that is visible to the transaction or from the data store.


Retrieves the data values from the data store that are visible to the transaction for the specified rows.

This topic is a part of: