다음을 통해 공유


DataSet.EnforceConstraints 속성

업데이트 작업을 수행할 때 제약 조건 규칙을 따르는지 여부를 나타내는 값을 가져오거나 설정합니다.

네임스페이스: System.Data
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public Property EnforceConstraints As Boolean
‘사용 방법
Dim instance As DataSet
Dim value As Boolean

value = instance.EnforceConstraints

instance.EnforceConstraints = value
public bool EnforceConstraints { get; set; }
public:
property bool EnforceConstraints {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_EnforceConstraints ()

/** @property */
public void set_EnforceConstraints (boolean value)
public function get EnforceConstraints () : boolean

public function set EnforceConstraints (value : boolean)

속성 값

규칙이 적용되면 true이고, 그렇지 않으면 false입니다. 기본값은 true입니다.

예외

예외 형식 조건

ConstraintException

제약 조건을 적용할 수 없는 경우

설명

제약 조건은 DataTable 수준(Constraints 속성)에서 설정됩니다. 제약 조건을 만드는 방법에 대한 자세한 내용은 테이블에 제약 조건 추가를 참조하십시오.

예제

다음 예제에서는 테이블, 열 및 UniqueConstraint가 하나씩이고 행이 다섯 개인 DataSet을 만듭니다. EnforceConstraints 속성은 false로 설정되어 있고 각 행의 값은 동일합니다. EnforceConstraints 속성을 true로 다시 설정하면 ConstraintException이 생성됩니다.

Private Sub DemonstrateEnforceConstraints()
    ' Create a DataSet with one table, one column and 
    ' a UniqueConstraint.
    Dim dataSet As DataSet = New DataSet("dataSet")
    Dim table As DataTable = New DataTable("table")
    Dim column As DataColumn = 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
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());
    }
}

플랫폼

Windows 98, Windows 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

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DataSet 클래스
DataSet 멤버
System.Data 네임스페이스

기타 리소스

ADO.NET에서 DataSet 사용