AnsweredAssumed Answered

Vb.Net code to delete features in SDE FC

Question asked by jsn on Feb 23, 2016

Hello everyone,

 

I am writing a code in vb.net to delete features in a SDE FC listed in a FGDB FC. I am using a FC from a FGDB where I read all records. Then using the GLOBALID, the code searches for the matching record in SDE  and then deletes it in SDE.

 

Please let me know if I need to open an editing session for this purpose and also if this code is the recommended code.

 

   '
            ' Removes records from target feature
            '
            '
            Dim searchCur As IFeatureCursor = sourceFC.Search(Nothing, False)
            Dim featObj As IFeature = searchCur.NextFeature()

            Dim targetFields As IFields = targetFC.Fields
            ' Create a ComReleaser for cursor management.
            Using comReleaser As ESRI.ArcGIS.ADF.ComReleaser = New ESRI.ArcGIS.ADF.ComReleaser

                Dim targetQueryFilter As IQueryFilter = New QueryFilterClass()
                targetQueryFilter.SubFields = "GLOBALID"

                Dim targetCur As IFeatureCursor

                Dim targetFeature As IFeature

                Do While Not featObj Is Nothing
                    targetQueryFilter.WhereClause = "GLOBALID = " & featObj.Value(featObj.Fields.FindField("GLOBALIDTXT")).ToString
                    targetCur = targetFC.Search(targetQueryFilter, False)
                    comReleaser.ManageLifetime(targetCur)
                    targetFeature = targetCur.NextFeature

                    If Not targetFeature Is Nothing Then
                        targetFeature.Delete()
                    End If

                    featObj = searchCur.NextFeature()

                Loop


            End Using

Outcomes