ArcObjects Library Reference  (GeoDatabase)    

IRelationshipClass.DeleteRelationship Method

Deletes the relationship that associates the two specified objects.

[Visual Basic 6.0]
Sub DeleteRelationship(
    ByVal OriginObject As IObject, _
    ByVal DestinationObject As IObject _
)
[Visual Basic .NET]
Public Sub DeleteRelationship ( _
    ByVal OriginObject As IObject, _
    ByVal DestinationObject As IObject _
)
[C#]
public void DeleteRelationship (
    IObject OriginObject,
    IObject DestinationObject
);
[Java]
public void deleteRelationship (
    IObject OriginObject,
    IObject DestinationObject
)
throws
    IOException,
    AutomationException
[C++]
HRESULT DeleteRelationship(
  IObject* OriginObject,
  IObject* DestinationObject
);
[C++]

Parameters

OriginObject [in]

  OriginObject is a parameter of type IObject

DestinationObject [in]

  DestinationObject is a parameter of type IObject

Product Availability

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

Remarks

When using a relationship class, the DeleteRelationship method is used for deleting the relationship between the origin object and destination object specified in the function parameters.  This will remove the entry for this relationship from the relationship class.

[C#]

    //e.g., nameOfRelClass = "relclass"
    //      nameOfOriginTable = "origintable"
    //      nameofDestTable = "destinationtable"
    public void IRelationshipClass__DeleteRelationship(IWorkspace workspace, string nameOfRelClass,
        string nameOfOriginTable, string nameOfDestinationTable)
    {
        IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;
        IRelationshipClass relationshipClass = featureWorkspace.OpenRelationshipClass(nameOfRelClass);
        ITable originTable = featureWorkspace.OpenTable(nameOfOriginTable);
        ITable destTable = featureWorkspace.OpenTable(nameOfDestinationTable);
        IFeature originFeature = originTable.GetRow(2) as IFeature;
        IFeature destFeature = destTable.GetRow(2) as IFeature;
        IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace;
        workspaceEdit.StartEditing(true);
        workspaceEdit.StartEditOperation();
        relationshipClass.DeleteRelationship(originFeature, destFeature);
        workspaceEdit.StopEditOperation();
        workspaceEdit.StopEditing(true);
    }

[Visual Basic 6.0]

Here is a fragment of code showing the use of this property:

Dim pRelationshipClass As IRelationshipClass
Set pRelationshipClass = pFeatureWorkspace.OpenRelationshipClass("relclass")
Dim pOriginTable As ITable
Set pOriginTable = pFeatureWorkspace.OpenTable("origintable")
Dim pDestinationTable As ITable
Set pDestinationTable = pFeatureWorkspace.OpenTable("destinationtable")
Dim pOriginFeature As IFeature
Set pOriginFeature = pOriginTable.GetRow(2)
Dim  pDestinationFeature As IFeature
Set pDestinationFeature = pDestinationTable.GetRow(2)
pRelationshipClass.DeleteRelationship(pOriginFeature, pDestinationFeature)

See Also

IRelationshipClass Interface

 


Feedback Send feedback on this page