Rule 列舉

定義

指示當強制使用 ForeignKeyConstraint 時發生的動作。

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
繼承

欄位

Cascade 1

刪除或更新關聯資料列。 此為預設值。

None 0

不會在相關的資料列上採取任何動作。

SetDefault 3

將相關資料列中的值設定為 DefaultValue 屬性中所包含的值。

SetNull 2

將相關資料列中的值設定為 DBNull

範例

' 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進一步判斷發生什麼動作。

適用於

另請參閱