Rule 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指示當強制使用 ForeignKeyConstraint 時發生的動作。
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- 繼承
欄位
Cascade | 1 | 刪除或更新關聯資料列。 此為預設值。 |
None | 0 | 不會在相關的資料列上採取任何動作。 |
SetDefault | 3 | 將相關資料列中的值設定為 DefaultValue 屬性中所包含的值。 |
SetNull | 2 | 將相關資料列中的值設定為 |
範例
' 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 物件中DataTableConstraintCollection找到之 ForeignKeyConstraint 物件的 和 DeleteRule 屬性。
這些 Rule 值會決定刪除或更新資料行中的值時所發生的動作。 在兩者中,刪除值是設定規則時更重要且需要注意的值。
在刪除值的情況下, Cascade
指定也會刪除包含該值的所有數據列。 SetNull
指定所有子數據行中的值都設定為 Null 值。 SetDefault
指定所有子數據行都設定為數據行的預設值。 None
指定不會發生任何動作,但會產生例外狀況。
在更新值的情況下, Cascade
指定所有子數據行都會以新的值更新。 SetNull
指定所有子數據行都設定為 Null 值。 SetDefault
指定所有子數據行值都設定為預設值。 None
指定不會採取任何動作,但會產生例外狀況。
除非 屬性為 true
,否則EnforceConstraints不會強制執行的條件DataSet約束。
AcceptChanges呼叫 方法時,會AcceptRejectRule進一步判斷發生什麼動作。