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
| Name | Hodnota | Description |
|---|---|---|
| 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.