ForeignKeyConstraint.DeleteRule プロパティ

定義

行を削除したときにこの制約全体で発生するアクションを取得または設定します。

public:
 virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
public virtual System.Data.Rule DeleteRule { get; set; }
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
[<System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")>]
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule

プロパティ値

Rule 値のいずれか 1 つ。 既定値は、Cascade です。

属性

次の例では、ForeignKeyConstraint を作成し、さまざまなプロパティを設定し、オブジェクトの ConstraintCollectionDataTable追加します。

' 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 fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = suppliersProducts.Tables("Products").Columns("SupplieriD")
   fkConstraint = New ForeignKeyConstraint( _
       "SuppierFKConstraint", parentColumn, childColumn)

   ' Set null values when a value is deleted.
   fkConstraint.DeleteRule = Rule.SetNull
   fkConstraint.UpdateRule = Rule.Cascade
   fkConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables("Suppliers").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

注釈

親テーブルから行が削除されると、 DeleteRule によって子テーブル (またはテーブル) の列の動作が決まります。 ルールが に Cascade設定されている場合、子行は削除されます。

に設定すると SetNull、影響を DBNull 受ける行の適切な列に が配置されます。 データ ソースによっては、null 値が列で許可される場合と許可されない場合があります。 たとえば、SQL Serverでは、一意でない場合でも、主キー列に複数の null 値を見つけることができます。 ただし、 DataTableでは、オブジェクトの Unique プロパティが にtrue設定されている場合DataColumn、主キー列では複数の null 値は使用できません。

に設定すると SetDefault、列の既定値が割り当てられます。

適用対象