DataSet.EnforceConstraints Свойство

Определение

Возвращает или задает значение, определяющее соблюдение правил ограничения при попытке совершения операции обновления.Gets or sets a value indicating whether constraint rules are followed when attempting any update operation.

public:
 property bool EnforceConstraints { bool get(); void set(bool value); };
[System.Data.DataSysDescription("DataSetEnforceConstraintsDescr")]
public bool EnforceConstraints { get; set; }
member this.EnforceConstraints : bool with get, set
Public Property EnforceConstraints As Boolean

Значение свойства

true, если применяются правила; в противном случае false.true if rules are enforced; otherwise, false. Значение по умолчанию: true.The default is true.

Атрибуты

Исключения

Невозможно наложить одно или несколько ограничений.One or more constraints cannot be enforced.

Примеры

В следующем примере создается DataSet с одной таблицей, одним столбцом, пятью строками и одним UniqueConstraint.The following example creates a DataSet with one table, one column, five rows, and one UniqueConstraint. Свойству EnforceConstraints присвоено значение false, а значения каждой строки задаются одинаковым значением.The EnforceConstraints property is set to false and the values of each row are set to the same value. Когда свойство EnforceConstraints сбрасывается в true, создается ConstraintException.When the EnforceConstraints property is reset to true, a ConstraintException is generated.

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());
    }
}
Private Sub DemonstrateEnforceConstraints()
    ' Create a DataSet with one table, one column and 
    ' a UniqueConstraint.
    Dim dataSet As New DataSet("dataSet")
    Dim table As New DataTable("table")
    Dim column As New DataColumn("col1")
    column.Unique = True
    table.Columns.Add(column)
    dataSet.Tables.Add(table)
    Console.WriteLine("constraints.count: " _
        & table.Constraints.Count)

    ' add five rows.
    Dim row As DataRow
    Dim i As Integer
    For i = 0 To 4
       row = table.NewRow()
       row("col1") = i
       table.Rows.Add(row)
    Next
    table.AcceptChanges()
     
    dataSet.EnforceConstraints = False
    ' Change the values of all rows to 1.
    Dim thisRow As DataRow
    For Each thisRow In table.rows
       thisRow("col1") = 1
    Next
 
    Try
        dataSet.EnforceConstraints = True
    Catch e As System.Data.ConstraintException
        ' Process exception and return.
        Console.WriteLine("Exception of type {0} occurred.", _
            e.GetType().ToString())
    End Try
End Sub

Комментарии

Ограничения задаются на уровне DataTable (свойствоConstraints).Constraints are set at the DataTable level (Constraints property). Дополнительные сведения о создании ограничений см. в разделе ограничения DataTable.For more information about creating constraints, see DataTable Constraints.

Применяется к

Дополнительно