com.esri.arcgis.geodatabase
Interface IDataChangesEx

All Superinterfaces:
Serializable
All Known Implementing Classes:
IDataChangesExProxy

public interface IDataChangesEx
extends Serializable

Provides access to members that return information on data changes.

Remarks

The IDataChangesEx interface can be used by application developers to find out what features have been changed with the scope of an edit session or edit operation. The changes returned from a IDataChangesEx object are only accurate to the time of object creation. This means that any edits made after a reference to the IDataChangesEx object will not be reflected when ChangedIDs, Extract, and ExtractEx members are called. To get the most up to date data changes call ModifiedClasses and then Extract or ExtractEx. It is important to keep in mind this has the effect of flushing the edits made within an edit session, giving the application the most recent view of the dataset.

When required to insert, update or delete objects it is strongly recommended the operation is performed using an edit session and within an edit operation. Although the modification can be performed without explicitly starting and stopping an edit operation, the resulting change will be non-deterministic in respect to which state of the database the operation is associated or even the possibility of encountering an error when the change can not be applied to an open state. For these reasons all edits should be performed within an edit operation. The scope of the data changes can not be guaranteed when the ChangedIDs, Extract, and ExtractEx members are called on an edit session with edits made outside of an edit operation.

IDataChangesEx should not be used with non-versioned edit sessions.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 IDifferenceCursor extract(String className, int diffType)
          Get changed rows for a specific class.
 IDifferenceCursorEx extractEx(String className, int diffType)
          Get changed rows for a specific class.
 IFIDSet getChangedIDs(String className, int diffType)
          The IDs of rows that changed during the edit session.
 IEnumBSTR getModifiedClasses()
          The list of tables with edits.
 

Method Detail

getModifiedClasses

IEnumBSTR getModifiedClasses()
                             throws IOException,
                                    AutomationException
The list of tables with edits.

Remarks

This property returns a string enumeration with a list of all classes that have been modified.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getChangedIDs

IFIDSet getChangedIDs(String className,
                      int diffType)
                      throws IOException,
                             AutomationException
The IDs of rows that changed during the edit session.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFIDSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extract

IDifferenceCursor extract(String className,
                          int diffType)
                          throws IOException,
                                 AutomationException
Get changed rows for a specific class.

Remarks

The Extract method returns a difference cursor corresponding to all rows in a class with a specific esriDifferenceType. IRow objects returned from a difference cursor are meant to be a read only. If row editing is desired the OID returned from the call to IDifferenceCursor::NextRow should be used in a call to the ITable::GetRow or ITable::GetRows methods.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDifferenceCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractEx

IDifferenceCursorEx extractEx(String className,
                              int diffType)
                              throws IOException,
                                     AutomationException
Get changed rows for a specific class.

Remarks

The ExtractEx method can be used to populate a cursor that can then be leveraged to work through all the differences corresponding to a specific esriDifferenceType at the class level.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDifferenceCursorEx
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.