DataSet.EnforceConstraints Property

Gets or sets a value indicating whether constraint rules are followed when attempting any update operation.

Namespace: System.Data
Assembly: System.Data (in

public bool EnforceConstraints { get; set; }
/** @property */
public boolean get_EnforceConstraints ()

/** @property */
public void set_EnforceConstraints (boolean value)

public function get EnforceConstraints () : boolean

public function set EnforceConstraints (value : boolean)

Not applicable.

Property Value

true if rules are enforced; otherwise false. The default is true.

Exception typeCondition


One or more constraints cannot be enforced.

Constraints are set at the DataTable level (Constraints property). For more information about creating constraints, see Adding Constraints to a Table.

The following example creates a DataSet with one table, one column, five rows, and one UniqueConstraint. The EnforceConstraints property is set to false and the values of each row are set to the same value. 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.
    Console.WriteLine("constraints.count: " + 

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

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

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0