Udostępnij za pośrednictwem


Rule Wyliczenie

Definicja

Wskazuje akcję, która występuje, gdy ForeignKeyConstraint jest wymuszana.

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

Pola

Nazwa Wartość Opis
None 0

Brak akcji podjętej dla powiązanych wierszy.

Cascade 1

Usuń lub zaktualizuj powiązane wiersze. Jest to opcja domyślna.

SetNull 2

Ustaw wartości w powiązanych wierszach na DBNull.

SetDefault 3

Ustaw wartości w powiązanych wierszach na wartość zawartą DefaultValue we właściwości .

Przykłady

' 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

Uwagi

Wartości Rule są ustawiane na UpdateRule właściwości i DeleteRule obiektu znajdującego ForeignKeyConstraint się w DataTable obiekcie ConstraintCollection.

Wartości Rule określają akcję, która występuje, gdy wartość w kolumnie zostanie usunięta lub zaktualizowana. Z tych dwóch elementów usunięcie wartości jest bardziej krytyczne i wymagające uwagi podczas ustawiania reguły.

W przypadku usunięcia wartości określa, Cascade że wszystkie wiersze zawierające te wartości są również usuwane. SetNull określa, że wartości we wszystkich kolumnach podrzędnych są ustawione na wartości null. SetDefault określa, że wszystkie kolumny podrzędne mają być ustawione na wartość domyślną kolumny. None określa, że nie zostanie wykonana żadna akcja, ale są generowane wyjątki.

W przypadku, gdy wartość jest aktualizowana, określa, Cascade że wszystkie kolumny podrzędne są również aktualizowane przy użyciu nowej wartości. SetNull określa, że wszystkie kolumny podrzędne mają być ustawione na wartości null. SetDefault określa, że wszystkie wartości kolumn podrzędnych mają być ustawione na wartość domyślną. None określa, że nie należy podejmować żadnych działań, ale są generowane wyjątki.

Ograniczenia elementu DataSet nie są wymuszane, chyba że EnforceConstraints właściwość ma truewartość .

Po wywołaniu AcceptChanges metody program dalej określa, AcceptRejectRule jaka akcja występuje.

Dotyczy

Zobacz też