DataTable.Constraints プロパティ

定義

このテーブルに保持されている制約のコレクションを取得します。

public:
 property System::Data::ConstraintCollection ^ Constraints { System::Data::ConstraintCollection ^ get(); };
public System.Data.ConstraintCollection Constraints { get; }
[System.Data.DataSysDescription("DataTableConstraintsDescr")]
public System.Data.ConstraintCollection Constraints { get; }
member this.Constraints : System.Data.ConstraintCollection
[<System.Data.DataSysDescription("DataTableConstraintsDescr")>]
member this.Constraints : System.Data.ConstraintCollection
Public ReadOnly Property Constraints As ConstraintCollection

プロパティ値

テーブルの ConstraintCollection オブジェクトのコレクションを格納している ConstraintConstraint オブジェクトが存在しない場合、空のコレクションが返されます。

属性

次の例では、 を ForeignKeyConstraint 制約のコレクションに追加します。

private void CreateConstraint(DataSet dataSet,
    string table1, string table2, string column1, string column2)
{
    ForeignKeyConstraint idKeyRestraint = new
        ForeignKeyConstraint(dataSet.Tables[table1].Columns[column1],
        dataSet.Tables[table2].Columns[column2]);

    // Set null values when a value is deleted.
    idKeyRestraint.DeleteRule = Rule.SetNull;
    idKeyRestraint.UpdateRule = Rule.Cascade;

    // Set AcceptRejectRule to cascade changes.
    idKeyRestraint.AcceptRejectRule = AcceptRejectRule.Cascade;

    dataSet.Tables[table1].Constraints.Add(idKeyRestraint);
    dataSet.EnforceConstraints = true;
}
Private Sub CreateConstraint(dataSet As DataSet, _
    table1 As String, table2 As String, _
    column1 As String, column2 As String)

    Dim idKeyRestraint As ForeignKeyConstraint = _
        New ForeignKeyConstraint _
        (dataSet.Tables(table1).Columns(column1), _
        dataSet.Tables(table2).Columns(column2))

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

    ' Set AcceptRejectRule to cascade changes.
    idKeyRestraint.AcceptRejectRule = AcceptRejectRule.Cascade
    
    dataSet.Tables(table1).Constraints.Add(idKeyRestraint)
    dataSet.EnforceConstraints = True
End Sub

注釈

ForeignKeyConstraint 、列 (または列) の値が削除または更新されたときに実行されるアクションを制限します。 このような制約は、主キー列で使用することを目的としています。 2 つのテーブル間の親子リレーションシップでは、親テーブルから値を削除すると、次のいずれかの方法で子行に影響を与える可能性があります。

  • 子行を削除することもできます (カスケード アクション)。

  • 子列 (または列) の値を null 値に設定できます。

  • 子列 (または列) の値を既定値に設定できます。

  • 例外を生成できます。

UniqueConstraint主キーの値を一意でない値に設定しようとすると、 がアクティブになります。

適用対象

こちらもご覧ください