Share via

ForeignKeyConstraint.AcceptRejectRule Property


Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

 virtual property System::Data::AcceptRejectRule AcceptRejectRule { System::Data::AcceptRejectRule get(); void set(System::Data::AcceptRejectRule value); };
public virtual System.Data.AcceptRejectRule AcceptRejectRule { get; set; }
public virtual System.Data.AcceptRejectRule AcceptRejectRule { get; set; }
member this.AcceptRejectRule : System.Data.AcceptRejectRule with get, set
member this.AcceptRejectRule : System.Data.AcceptRejectRule with get, set
Public Overridable Property AcceptRejectRule As AcceptRejectRule

Property Value

One of the AcceptRejectRule values. Possible values include None, and Cascade. The default is None.



The following example creates a ForeignKeyConstraint, sets its AcceptRejectRule, and adds the constraint to a DataTable object's ConstraintCollection.

' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts 

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumn As DataColumn
   Dim childColumn As DataColumn
   Dim fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = suppliersProducts.Tables("Products").Columns("SupplieriD")
   fkConstraint = New ForeignKeyConstraint( _
       "SuppierFKConstraint", parentColumn, childColumn)

   ' Set null values when a value is deleted.
   fkConstraint.DeleteRule = Rule.SetNull
   fkConstraint.UpdateRule = Rule.Cascade
   fkConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.EnforceConstraints = True
End Sub


Changes to a DataRow or DataTable are not final until the AcceptChanges method is invoked. At that point, the AcceptRejectRule determines the course of action on any values that have been changed or deleted.

Applies to

See also