DataSet.EnforceConstraints 属性

定义

获取或设置一个值,该值指示在尝试执行任何更新操作时是否遵循约束规则。

C#
public bool EnforceConstraints { get; set; }
C#
[System.Data.DataSysDescription("DataSetEnforceConstraintsDescr")]
public bool EnforceConstraints { get; set; }

属性值

true 如果强制实施规则,否则为 false。 默认值为 true

属性

例外

无法实施一个或多个约束。

示例

以下示例创建包含一个 DataSet 表、一列、五行和一个 UniqueConstraint的 。 属性 EnforceConstraints 设置为 false ,每行的值设置为相同的值。 当 属性 EnforceConstraints 重置为 true时, ConstraintException 将生成 。

C#
private void DemonstrateEnforceConstraints()
{
    // Create a DataSet with one table, one column and
    // a UniqueConstraint.
    DataSet dataSet= new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn column = new DataColumn("col1");

    // A UniqueConstraint is added when the Unique
    // property is true.
    column.Unique=true;
    table.Columns.Add(column);
    dataSet.Tables.Add(table);
    Console.WriteLine("constraints.count: " +
        table.Constraints.Count);

    // add five rows.
    DataRow row ;
    for(int i=0;i<5;i++)
    {
        row = table.NewRow();
        row["col1"] = i;
        table.Rows.Add(row);
    }
    table.AcceptChanges();

    dataSet.EnforceConstraints=false;
    // Change the values of all rows to 1.
    foreach(DataRow thisRow in table.Rows)
    {
        thisRow["col1"]=1;
        //Console.WriteLine("\table" + thisRow[0]);
    }
    try
    {
        dataSet.EnforceConstraints=true;
    }
    catch(System.Data.ConstraintException e)
    {
        // Process exception and return.
        Console.WriteLine("Exception of type {0} occurred.",
            e.GetType());
    }
}

注解

约束在 DataTable 属性) (Constraints 级别设置。 有关创建约束的详细信息,请参阅 DataTable 约束

适用于

产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅