SQLOLEDB supports consumer notification on rowset modification. The consumer receives notification at every phase of rowset modification and on any attempted change.
To receive notification, the consumer queries the rowset for a connection-point interface, then connects a consumer-implemented IRowsetNotify interface to the rowset.
The consumer can cancel a rowset-modification attempt on receiving notification from SQLOLEDB. Any rowset-modification attempt can be canceled prior to the application of the modification by SQLOLEDB. That is, rowset modifications can be canceled when an IRowsetNotify member function indicates the event phase DBEVENTPHASE_OKTODO or DBEVENTPHASE_ABOUTTODO.