Rule 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指出強制執行 ForeignKeyConstraint 時所發生的動作。
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- 繼承
欄位
| 名稱 | 值 | Description |
|---|---|---|
| None | 0 | 相關爭議未採取任何行動。 |
| Cascade | 1 | 刪除或更新相關的數據列。 此為預設值。 |
| SetNull | 2 | 將相關列的值設為 |
| SetDefault | 3 | 將相關列的值設為屬性中包含的 DefaultValue 值。 |
範例
' 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
備註
這些Rule值被設定為 ,UpdateRule且 DeleteRule 在物件 中找到DataTableConstraintCollection的物件屬性ForeignKeyConstraint。
這些 Rule 值決定了當欄位中的值被刪除或更新時所執行的動作。 兩者中,刪除某個數值在設定規則時更為關鍵且需要注意。
當某個值被刪除時, Cascade 指定所有包含該值的列也一併刪除。
SetNull 指定所有子欄位的值都設為 null 值。
SetDefault 指定所有子欄位都設定為該欄位的預設值。
None 指定不會發生任何動作,但會產生例外。
當值被更新時, Cascade 指定所有子欄位也同時更新為新值。
SetNull 指定所有子欄位皆設為空值。
SetDefault 指定所有子欄位值都設為預設值。
None 規定不採取任何行動,但會產生例外。
除非性質EnforceConstraints為 true,否則對 的DataSet約束不會被強制執行。
當 AcceptChanges 方法被呼叫時,進一步 AcceptRejectRule 決定執行的動作。