This documentation is archived and is not being maintained.

ForeignKeyConstraint.DeleteRule Property

Gets or sets the action that occurs across this constraint when a row is deleted.

[Visual Basic]
Public Overridable Property DeleteRule As Rule
public virtual Rule DeleteRule {get; set;}
public: __property virtual Rule get_DeleteRule();
public: __property virtual void set_DeleteRule(Rule);
public function get DeleteRule() : Rule;
public function set DeleteRule(Rule);

Property Value

One of the Rule values. The default is Cascade.


When a row is deleted from a parent table, the DeleteRule determines what will happen in the columns of the child table (or tables). If the rule is set to Cascade, child rows will be deleted.

If set to SetNull, a DBnull will be placed in the appropriate columns of the affected rows. Depending on your data source, a null value may or may not be permitted in a column. For example, SQLServer allows multiple null values to be found in a primary key column, even if they are not unique. In a DataTable, however, if a DataColumn object's Unique property is set to true, multiple null values are not allowed in primary key columns.

If set to SetDefault, the default value for the column is assigned.


[Visual Basic] The following example creates a ForeignKeyConstraint, sets various of its properties, and adds it to a DataTable object's ConstraintCollection.

[Visual Basic] 
' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private myDataSet As SuppliersProducts 

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim pCol As DataColumn
   Dim cCol As DataColumn
   Dim myFKC As ForeignKeyConstraint
   ' Set parent and child column variables.
   pCol = myDataSet.Tables("Suppliers").Columns("SupplierID")
   cCol = myDataSet.Tables("Products").Columns("SupplieriD")
   myFKC = New ForeignKeyConstraint("SuppierFKConstraint", pCol, cCol)
   ' Set null values when a value is deleted.
   myFKC.DeleteRule = Rule.SetNull
   myFKC.UpdateRule = Rule.Cascade
   myFKC.AcceptRejectRule = AcceptRejectRule.Cascade
   ' Add the constraint, and set EnforceConstraints to true.
   myDataSet.EnforceConstraints = True
End Sub

[C#, C++, JScript] No example is available for C#, C++, or JScript. To view a Visual Basic example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

ForeignKeyConstraint Class | ForeignKeyConstraint Members | System.Data Namespace