Rule Enumeration
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.
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 |
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.