ForeignKeyConstraint.DeleteRule Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Cascade
festgelegt ist, werden untergeordnete Zeilen gelöscht.
Wenn auf SetNull
festgelegt 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 true
festgelegt ist, sind mehrere NULL-Werte in Primärschlüsselspalten nicht zulässig.
Wenn auf SetDefault
festgelegt ist, wird der Standardwert für die Spalte zugewiesen.