Freigeben über


Rule Enumeration

Definition

Gibt die Aktion an, die beim Erzwingen einer ForeignKeyConstraint ausgeführt wird.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Vererbung

Felder

Cascade 1

Verknüpfte Zeilen werden gelöscht oder aktualisiert. Dies ist die Standardoption.

None 0

Es wird keine Aktion für verknüpfte Zeilen ausgeführt.

SetDefault 3

Festlegen der Werte in verknüpften Zeilen auf den Wert in der DefaultValue-Eigenschaft.

SetNull 2

Festlegen der Werte in verknüpften Zeilen auf DBNull.

Beispiele

' 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 fkeyConstraint As ForeignKeyConstraint

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

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

    ' Add the constraint, and set EnforceConstraints to true.
    suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
    suppliersProducts.EnforceConstraints = True
End Sub

Hinweise

Die Rule Werte werden auf und UpdateRule die Eigenschaften eines ForeignKeyConstraint Objekts festgelegt, das DeleteRule in der -Eigenschaft eines DataTable -ConstraintCollectionObjekts gefunden wird.

Die Rule Werte bestimmen die Aktion, die auftritt, wenn ein Wert in einer Spalte entweder gelöscht oder aktualisiert wird. Von beiden ist das Löschen eines Werts beim Festlegen einer Regel kritischer und anspruchsvoller.

Für den Fall, dass ein Wert gelöscht wird, gibt an, Cascade dass alle Zeilen, die diesen Wert enthalten, ebenfalls gelöscht werden. SetNull gibt an, dass Werte in allen untergeordneten Spalten auf NULL-Werte festgelegt werden. SetDefault gibt an, dass alle untergeordneten Spalten auf den Standardwert für die Spalte festgelegt werden. None gibt an, dass keine Aktion ausgeführt wird, aber Ausnahmen generiert werden.

Wenn ein Wert aktualisiert wird, gibt an, Cascade dass alle untergeordneten Spalten ebenfalls mit dem neuen Wert aktualisiert werden. SetNull gibt an, dass alle untergeordneten Spalten auf NULL-Werte festgelegt werden. SetDefault gibt an, dass alle untergeordneten Spaltenwerte auf den Standardwert festgelegt werden. None gibt an, dass keine Aktion ausgeführt wird, sondern Ausnahmen generiert werden.

Einschränkungen für ein DataSet werden nur erzwungen, wenn die EnforceConstraints -Eigenschaft ist true.

Wenn die AcceptChanges -Methode aufgerufen wird, bestimmt weiter AcceptRejectRule , welche Aktion ausgeführt wird.

Gilt für:

Weitere Informationen