DataTable.Constraints 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取由该表维护的约束的集合。
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尝试将主键中的值设置为非唯一值时,会变为活动状态。