Sdílet prostřednictvím


Rule Výčet

Definice

Označuje akci, která nastane při vynucení ForeignKeyConstraint.

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

Pole

Name Hodnota Description
None 0

Na souvisejících řádcích nebyla provedena žádná akce.

Cascade 1

Odstraňte nebo aktualizujte související řádky. Toto je výchozí hodnota.

SetNull 2

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

SetDefault 3

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

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 UpdateRule a DeleteRule vlastnosti ForeignKeyConstraint objektu nalezeného v objektu DataTableConstraintCollection.

Hodnoty Rule určují akci, která nastane, když je hodnota ve sloupci odstraněna nebo aktualizována. Z těchto dvou je odstranění hodnoty důležitější a náročnější při nastavování pravidla.

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

Omezení u objektu DataSet nejsou vynucena, pokud EnforceConstraints není truevlastnost .

AcceptChanges Když je volána metoda, AcceptRejectRule další určuje, k jaké akci dojde.

Platí pro

Viz také