次の方法で共有


DataSet.EnforceConstraints プロパティ

定義

更新操作を試みたときに操作が制約規則に従っているかどうかを示す値を取得または設定します。

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

プロパティ値

true 規則が適用される場合。それ以外の場合は false。 既定値は、true です。

属性

例外

1 つ以上の制約を適用できません。

次の例では、1 つのテーブル、1 つの列、5 つの行、および 1 つの UniqueConstraintを使用して を作成DataSetします。 プロパティは EnforceConstraintsfalse 設定され、各行の値は同じ値に設定されます。 プロパティが EnforceConstraintstrueリセットされると、 ConstraintException が生成されます。

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

注釈

制約は、レベル (Constraints プロパティ) でDataTable設定されます。 制約の作成の詳細については、「 DataTable 制約」を参照してください。

適用対象

こちらもご覧ください