Rule Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
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.