次の方法で共有


Rule 列挙型

定義

ForeignKeyConstraint が適用されたときに発生するアクションを示します。

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

フィールド

名前 説明
None 0

関連する行に対するアクションは実行されません。

Cascade 1

関連する行を削除または更新します。 これが既定値です。

SetNull 2

関連する行の値を DBNullに設定します。

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値は、DataTable オブジェクトのConstraintCollectionにあるForeignKeyConstraint オブジェクトのUpdateRuleプロパティとDeleteRule プロパティに設定されます。

Rule値は、列の値が削除または更新されたときに発生するアクションを決定します。 2 つのうち、値の削除は、ルールを設定する際のより重要で注意が必要です。

値が削除された場合、 Cascade は、その値を含むすべての行も削除されるように指定します。 SetNull は、すべての子列の値が null 値に設定されることを指定します。 SetDefault は、すべての子列を列の既定値に設定することを指定します。 None は、アクションは発生しませんが、例外が生成されることを指定します。

値が更新された場合、 Cascade は、すべての子列が同様に新しい値で更新されることを指定します。 SetNull は、すべての子列を null 値に設定することを指定します。 SetDefault は、すべての子列の値を既定値に設定することを指定します。 None は、アクションは実行されませんが、例外が生成されることを指定します。

EnforceConstraints プロパティがtrueされていない限り、DataSetに対する制約は適用されません。

AcceptChanges メソッドが呼び出されると、AcceptRejectRuleによって、発生するアクションがさらに決定されます。

適用対象

こちらもご覧ください