Sdílet prostřednictvím


Rule Výčet

Definice

Označuje akci, ke které dojde při vynucení ForeignKeyConstraint .

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Dědičnost

Pole

Cascade 1

Odstraňte nebo aktualizujte související řádky. Tato možnost je výchozí.

None 0

Se souvisejícími řádky nebyla provedena žádná akce.

SetDefault 3

Nastavte hodnoty v souvisejících řádcích na hodnotu obsaženou DefaultValue ve vlastnosti .

SetNull 2

Nastavte hodnoty v souvisejících řádcích na DBNull.

Příklady

' 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

Poznámky

Hodnoty Rule jsou nastaveny na UpdateRuleDeleteRule a vlastnosti objektu ForeignKeyConstraint nalezeného v objektu DataTableConstraintCollection.

Hodnoty Rule určují akci, která se provede při odstranění nebo aktualizaci hodnoty ve sloupci. Z těchto dvou je odstranění hodnoty při nastavování pravidla důležitější a vyžaduje pozornost.

V případě odstranění hodnoty určuje, Cascade že se odstraní také všechny řádky obsahující tuto hodnotu. SetNull Určuje, že hodnoty ve všech podřízených sloupcích jsou nastaveny na hodnoty null. SetDefault Určuje, že všechny podřízené sloupce budou nastaveny na výchozí hodnotu sloupce. None určuje, že nedojde k žádné akci, ale vygenerují se výjimky.

V případě, že je hodnota aktualizována, určuje, Cascade že všechny podřízené sloupce budou aktualizovány s novou hodnotou. SetNull Určuje, že všechny podřízené sloupce budou nastaveny na hodnoty null. SetDefault Určuje, že všechny hodnoty podřízených sloupců budou nastaveny na výchozí hodnotu. None určuje, že se neprovedou žádné akce, ale vygenerují se výjimky.

Omezení objektu se DataSet nevynucují, pokud vlastnost EnforceConstraints není true.

Při zavolání AcceptChanges metody dále určuje, AcceptRejectRule jaká akce se provede.

Platí pro

Viz také