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,包含该表的 Constraint 对象的集合。 如果 Constraint 对象不存在,将返回空集合。

属性

示例

以下示例将 添加到 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 在列 (或列) 的值被删除或更新时执行的操作。 此类约束旨在与主键列一起使用。 在两个表之间的父/子关系中,从父表中删除值可能会通过以下方式之一影响子行。

  • 还可以 (级联操作) 删除子行。

  • 子列 (或) 列的值可以设置为 null 值。

  • 可以将子列 (或列) 的值设置为默认值。

  • 可以生成异常。

UniqueConstraint尝试将主键中的值设置为非唯一值时,会变为活动状态。

适用于

另请参阅