Freigeben über


ForeignKeyConstraint.DeleteRule Eigenschaft

Definition

Ruft die Aktion ab, die für diese Einschränkung beim Löschen einer Zeile ausgeführt wird, oder legt diese fest.

public:
 virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
public virtual System.Data.Rule DeleteRule { get; set; }
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
[<System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")>]
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule

Eigenschaftswert

Einer der Rule-Werte. Der Standardwert ist Cascade.

Attribute

Beispiele

Im folgenden Beispiel wird ein ForeignKeyConstraint erstellt, verschiedene seiner Eigenschaften festgelegt und dem DataTable -Objekt ConstraintCollectionhinzugefügt.

' 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.Tables("Suppliers").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

Hinweise

Wenn eine Zeile aus einer übergeordneten Tabelle gelöscht wird, bestimmt der DeleteRule , was in den Spalten der untergeordneten Tabelle (oder der Tabellen) geschieht. Wenn die Regel auf Cascadefestgelegt ist, werden untergeordnete Zeilen gelöscht.

Wenn auf SetNullfestgelegt ist, wird a DBNull in den entsprechenden Spalten der betroffenen Zeilen platziert. Je nach Datenquelle kann ein NULL-Wert in einer Spalte zulässig sein oder nicht. Beispielsweise ermöglicht SQL Server, dass mehrere NULL-Werte in einer Primärschlüsselspalte gefunden werden können, auch wenn sie nicht eindeutig sind. Wenn in einem DataTablejedoch die Eigenschaft eines DataColumn Objekts Unique auf truefestgelegt ist, sind mehrere NULL-Werte in Primärschlüsselspalten nicht zulässig.

Wenn auf SetDefaultfestgelegt ist, wird der Standardwert für die Spalte zugewiesen.

Gilt für: