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

Cascade 1

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

None 0

Brak akcji podjętej w powiązanych wierszach.

SetDefault 3

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

SetNull 2

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

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ą ustawione na UpdateRule właściwości ForeignKeyConstraint i DeleteRule obiektu znajdującego się w DataTable obiekcie ConstraintCollection.

Wartości Rule określają akcję, która występuje, gdy wartość w kolumnie jest usuwana lub aktualizowana. Z tych dwóch, usuwanie wartości jest bardziej krytyczne i wymaga 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 aktualizacji wartości 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 nie DataSet są wymuszane, chyba że EnforceConstraints właściwość ma truewartość .

Po wywołaniu AcceptChanges metody dalsze określenie, AcceptRejectRule jaka akcja występuje.

Dotyczy

Zobacz też