I'm creating a custom Audit History component that will show old values (base values) and the new values (delta versioned tables).

I have been able to get the ObjectIDs of different change types between the base and delta tables changes such as:





but I can't figure out how to access the actual versioned table (IVersionedTable - I'm assuming) so that I can compare each field's value to the base table (If there was an update, I need to know which field was updated, and the difference between the 2 values). Or, is there a better way of doing this? Am I on the right track?

private static void getVersionedFeature(string parentVersion, string specificVersion)
        IWorkspace pWorkspace = connectToAtlasEditSDE();
        IVersionedWorkspace pVersionedWorkspace = (IVersionedWorkspace)pWorkspace;
        //get a enumeration of all the versions on the versioned workspace
        IEnumVersionInfo enumVersionInfo = pVersionedWorkspace.Versions;
        IVersionInfo versionInfo = enumVersionInfo.Next();
        while (versionInfo != null)

            string versionName = versionInfo.VersionName;
            if (versionName == parentVersion)
                IEnumVersionInfo childrenVersionInfo = versionInfo.Children;
                IVersionInfo childrenInfo = childrenVersionInfo.Next();
                while (childrenInfo != null)
                    string childName = childrenInfo.VersionName;
                    if (childrenInfo.VersionName.Equals(specificVersion))
                        // get table here?!
                    childrenInfo = childrenVersionInfo.Next();
            versionInfo = enumVersionInfo.Next();

Reference this documentation:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.