Resynchronizing Rows

The methods in IRowsetRefresh enable the consumer to retrieve the data in the data source that is visible to the current transaction according to its isolation level. To retrieve a copy of the currently visible data, the consumer calls IRowsetRefresh::GetLastVisibleData. To update the copy of a row in the rowset with the currently visible data, the consumer calls IRowsetRefresh::RefreshVisibleData.

Although this capability is related to the DBPROP_OWNUPDATEDELETE, DBPROP_OWNINSERT, DBPROP_OTHERUPDATEDELETE, and DBPROP_OTHERINSERT properties, it is independent of them. That is, the value of these properties can be VARIANT_FALSE and the rowset can still expose IRowsetRefresh. However, because of implementation difficulties, many rowsets do not expose IRowsetRefresh unless the values of the DBPROP_OWNUPDATEDELETE and DBPROP_OTHERUPDATEDELETE properties are VARIANT_TRUE.