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

Na souvisejících řádcích se neprovedou žá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, když je hodnota ve sloupci odstraněna nebo aktualizována. Z těchto dvou je odstranění hodnoty při nastavování pravidla důležitější a náročnější na pozornost.

V případě odstranění hodnoty určuje, Cascade že se odstraní také všechny řádky obsahující danou 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 se také aktualizují o novou hodnotu. SetNull určuje, že všechny podřízené sloupce budou nastaveny na hodnoty null. SetDefault Určuje, že všechny hodnoty podřízeného sloupce budou nastaveny na výchozí hodnotu. None Určuje, že se neprovedou žádné akce, ale vygenerují se výjimky.

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

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

Platí pro

Viz také