다음을 통해 공유


ConstraintCollection.Add 메서드

정의

컬렉션에 Constraint 개체를 추가합니다.

오버로드

Add(Constraint)

지정된 Constraint 개체를 컬렉션에 추가합니다.

Add(String, DataColumn, Boolean)

지정된 이름, UniqueConstraint 및 해당 열이 기본 키인지 여부를 나타내는 값이 있는 새 DataColumn를 생성하여 컬렉션에 추가합니다.

Add(String, DataColumn, DataColumn)

지정된 이름, 부모 열 및 자식 열을 사용하여 새 ForeignKeyConstraint를 만들어 컬렉션에 추가합니다.

Add(String, DataColumn[], Boolean)

지정된 이름, UniqueConstraint 개체의 배열 및 열이 기본 키인지 여부를 나타내는 값이 있는 새 DataColumn를 생성하여 컬렉션에 추가합니다.

Add(String, DataColumn[], DataColumn[])

부모 열과 자식 열의 지정된 배열을 사용하여 새 ForeignKeyConstraint를 만들어 컬렉션에 추가합니다.

Add(Constraint)

Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs

지정된 Constraint 개체를 컬렉션에 추가합니다.

public:
 void Add(System::Data::Constraint ^ constraint);
public void Add (System.Data.Constraint constraint);
member this.Add : System.Data.Constraint -> unit
Public Sub Add (constraint As Constraint)

매개 변수

constraint
Constraint

추가할 Constraint입니다.

예외

constraint 인수가 null입니다.

제약 조건이 이미 이 컬렉션에 속해 있거나 다른 컬렉션에 속해 있는 경우

컬렉션에 이미 같은 이름의 제약 조건이 있는 경우 (대/소문자를 구분하지 않고 비교합니다.)

예제

다음 예제에서는 의 에 ConstraintCollection 를 추가 UniqueConstraint 합니다DataTable.

private void AddConstraint(DataTable table)
{
    UniqueConstraint uniqueConstraint;
    // Assuming a column named "UniqueColumn" exists, and
    // its Unique property is true.
    uniqueConstraint = new UniqueConstraint(
        table.Columns["UniqueColumn"]);
    table.Constraints.Add(uniqueConstraint);
}
Private Sub AddConstraint(table As DataTable)
    Dim uniqueConstraint As UniqueConstraint
    ' Assuming a column named "UniqueColumn" exists, and 
    ' its Unique property is true.
    uniqueConstraint = _
       New UniqueConstraint(table.Columns("UniqueColumn"))
    table.Constraints.Add(uniqueConstraint)
End Sub

설명

제약 조건을 CollectionChanged 추가하거나 제거하여 컬렉션을 성공적으로 변경하면 이벤트가 발생합니다.

추가 정보

적용 대상

Add(String, DataColumn, Boolean)

Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs

지정된 이름, UniqueConstraint 및 해당 열이 기본 키인지 여부를 나타내는 값이 있는 새 DataColumn를 생성하여 컬렉션에 추가합니다.

public:
 System::Data::Constraint ^ Add(System::String ^ name, System::Data::DataColumn ^ column, bool primaryKey);
public:
 virtual System::Data::Constraint ^ Add(System::String ^ name, System::Data::DataColumn ^ column, bool primaryKey);
public System.Data.Constraint Add (string? name, System.Data.DataColumn column, bool primaryKey);
public System.Data.Constraint Add (string name, System.Data.DataColumn column, bool primaryKey);
public virtual System.Data.Constraint Add (string name, System.Data.DataColumn column, bool primaryKey);
member this.Add : string * System.Data.DataColumn * bool -> System.Data.Constraint
abstract member Add : string * System.Data.DataColumn * bool -> System.Data.Constraint
override this.Add : string * System.Data.DataColumn * bool -> System.Data.Constraint
Public Function Add (name As String, column As DataColumn, primaryKey As Boolean) As Constraint
Public Overridable Function Add (name As String, column As DataColumn, primaryKey As Boolean) As Constraint

매개 변수

name
String

UniqueConstraint의 이름입니다.

column
DataColumn

제약 조건이 적용되는 DataColumn입니다.

primaryKey
Boolean

열이 기본 키인지 여부를 지정합니다. true이면 기본 키 열이 됩니다.

반환

UniqueConstraint입니다.

예외

제약 조건이 이미 이 컬렉션에 속해 있는 경우

-또는-

제약 조건이 다른 컬렉션에 속한 경우

컬렉션에 지정된 이름의 제약 조건이 이미 있는 경우. (대/소문자를 구분하지 않고 비교합니다.)

예제

다음 예제에서는 메서드를 Add 사용하여 를 만들고 에 새 UniqueConstraint 를 추가합니다 ConstraintCollection.

private void AddUniqueConstraint(DataTable table){
   table.Constraints.Add("idConstraint", table.Columns["id"], true);
}
Private Sub AddUniqueConstraint(table As DataTable)
    table.Constraints.Add("idConstraint", table.Columns("id"), True)
End Sub

설명

CollectionChanged 제약 조건이 성공적으로 추가되면 이벤트가 발생합니다.

추가 정보

적용 대상

Add(String, DataColumn, DataColumn)

Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs

지정된 이름, 부모 열 및 자식 열을 사용하여 새 ForeignKeyConstraint를 만들어 컬렉션에 추가합니다.

public:
 System::Data::Constraint ^ Add(System::String ^ name, System::Data::DataColumn ^ primaryKeyColumn, System::Data::DataColumn ^ foreignKeyColumn);
public:
 virtual System::Data::Constraint ^ Add(System::String ^ name, System::Data::DataColumn ^ primaryKeyColumn, System::Data::DataColumn ^ foreignKeyColumn);
public System.Data.Constraint Add (string? name, System.Data.DataColumn primaryKeyColumn, System.Data.DataColumn foreignKeyColumn);
public System.Data.Constraint Add (string name, System.Data.DataColumn primaryKeyColumn, System.Data.DataColumn foreignKeyColumn);
public virtual System.Data.Constraint Add (string name, System.Data.DataColumn primaryKeyColumn, System.Data.DataColumn foreignKeyColumn);
member this.Add : string * System.Data.DataColumn * System.Data.DataColumn -> System.Data.Constraint
abstract member Add : string * System.Data.DataColumn * System.Data.DataColumn -> System.Data.Constraint
override this.Add : string * System.Data.DataColumn * System.Data.DataColumn -> System.Data.Constraint
Public Function Add (name As String, primaryKeyColumn As DataColumn, foreignKeyColumn As DataColumn) As Constraint
Public Overridable Function Add (name As String, primaryKeyColumn As DataColumn, foreignKeyColumn As DataColumn) As Constraint

매개 변수

name
String

ForeignKeyConstraint의 이름입니다.

primaryKeyColumn
DataColumn

기본 키 또는 부모 DataColumn입니다.

foreignKeyColumn
DataColumn

외래 키 또는 자식 DataColumn입니다.

반환

ForeignKeyConstraint입니다.

예제

다음 예제에서는 의 에 새 ForeignKeyConstraintConstraintCollection 추가합니다 DataTable.

private void AddForeignConstraint(DataSet dataSet)
{
    try
    {
        DataColumn parentColumn =
            dataSet.Tables["Suppliers"].Columns["SupplierID"];
        DataColumn childColumn =
            dataSet.Tables["Products"].Columns["SupplierID"];
        dataSet.Tables["Products"].Constraints.Add
            ("ProductsSuppliers", parentColumn, childColumn);
    }
    catch(Exception ex)
    {
        // In case the constraint already exists,
        // catch the collision here and respond.
        Console.WriteLine("Exception of type {0} occurred.",
            ex.GetType());
    }
}
Private Sub AddForeignConstraint(dataSet As DataSet)
    Try
        Dim parentColumn As DataColumn = _
            dataSet.Tables("Suppliers").Columns("SupplierID")
        Dim childColumn As DataColumn = _
            dataSet.Tables("Products").Columns("SupplierID")
        dataSet.Tables("Products").Constraints.Add _
            ("ProductsSuppliers", parentColumn, childColumn)
        
    Catch ex As Exception
        ' In case the constraint already exists, 
        ' catch the collision here and respond.
        Console.WriteLine("Exception of type {0} occurred.", _
            ex.GetType().ToString())
    End Try
End Sub

설명

CollectionChanged 제약 조건이 성공적으로 추가되면 이벤트가 발생합니다.

적용 대상

Add(String, DataColumn[], Boolean)

Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs

지정된 이름, UniqueConstraint 개체의 배열 및 열이 기본 키인지 여부를 나타내는 값이 있는 새 DataColumn를 생성하여 컬렉션에 추가합니다.

public:
 System::Data::Constraint ^ Add(System::String ^ name, cli::array <System::Data::DataColumn ^> ^ columns, bool primaryKey);
public:
 virtual System::Data::Constraint ^ Add(System::String ^ name, cli::array <System::Data::DataColumn ^> ^ columns, bool primaryKey);
public System.Data.Constraint Add (string? name, System.Data.DataColumn[] columns, bool primaryKey);
public System.Data.Constraint Add (string name, System.Data.DataColumn[] columns, bool primaryKey);
public virtual System.Data.Constraint Add (string name, System.Data.DataColumn[] columns, bool primaryKey);
member this.Add : string * System.Data.DataColumn[] * bool -> System.Data.Constraint
abstract member Add : string * System.Data.DataColumn[] * bool -> System.Data.Constraint
override this.Add : string * System.Data.DataColumn[] * bool -> System.Data.Constraint
Public Function Add (name As String, columns As DataColumn(), primaryKey As Boolean) As Constraint
Public Overridable Function Add (name As String, columns As DataColumn(), primaryKey As Boolean) As Constraint

매개 변수

name
String

UniqueConstraint의 이름입니다.

columns
DataColumn[]

제약 조건이 적용되는 DataColumn 개체의 배열입니다.

primaryKey
Boolean

열이 기본 키인지 여부를 지정합니다. true이면 기본 키 열이 됩니다.

반환

UniqueConstraint입니다.

예외

제약 조건이 이미 이 컬렉션에 속해 있는 경우

-또는-

제약 조건이 다른 컬렉션에 속한 경우

컬렉션에 지정된 이름의 제약 조건이 이미 있는 경우. (대/소문자를 구분하지 않고 비교합니다.)

예제

다음 예제에서는 특정 DataTable에서 새 UniqueConstraint 를 만드는 데 사용되는 개체의 DataColumn 배열을 만듭니다.

private void AddUniqueConstraint(DataTable table)
{
    DataColumn[] columns = new DataColumn[1];
    columns[0] = table.Columns["ID"];
    columns[1] = table.Columns["Name"];
    table.Constraints.Add("idNameConstraint", columns, true);
}
Private Sub AddUniqueConstraint(table As DataTable)
    Dim columns(1) As DataColumn
    columns(0) = table.Columns("ID")
    columns(1) = table.Columns("Name")
    table.Constraints.Add("idNameConstraint", columns, True)
End Sub

설명

CollectionChanged 제약 조건이 성공적으로 추가되면 이벤트가 발생합니다.

추가 정보

적용 대상

Add(String, DataColumn[], DataColumn[])

Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs
Source:
ConstraintCollection.cs

부모 열과 자식 열의 지정된 배열을 사용하여 새 ForeignKeyConstraint를 만들어 컬렉션에 추가합니다.

public:
 System::Data::Constraint ^ Add(System::String ^ name, cli::array <System::Data::DataColumn ^> ^ primaryKeyColumns, cli::array <System::Data::DataColumn ^> ^ foreignKeyColumns);
public:
 virtual System::Data::Constraint ^ Add(System::String ^ name, cli::array <System::Data::DataColumn ^> ^ primaryKeyColumns, cli::array <System::Data::DataColumn ^> ^ foreignKeyColumns);
public System.Data.Constraint Add (string? name, System.Data.DataColumn[] primaryKeyColumns, System.Data.DataColumn[] foreignKeyColumns);
public System.Data.Constraint Add (string name, System.Data.DataColumn[] primaryKeyColumns, System.Data.DataColumn[] foreignKeyColumns);
public virtual System.Data.Constraint Add (string name, System.Data.DataColumn[] primaryKeyColumns, System.Data.DataColumn[] foreignKeyColumns);
member this.Add : string * System.Data.DataColumn[] * System.Data.DataColumn[] -> System.Data.Constraint
abstract member Add : string * System.Data.DataColumn[] * System.Data.DataColumn[] -> System.Data.Constraint
override this.Add : string * System.Data.DataColumn[] * System.Data.DataColumn[] -> System.Data.Constraint
Public Function Add (name As String, primaryKeyColumns As DataColumn(), foreignKeyColumns As DataColumn()) As Constraint
Public Overridable Function Add (name As String, primaryKeyColumns As DataColumn(), foreignKeyColumns As DataColumn()) As Constraint

매개 변수

name
String

ForeignKeyConstraint의 이름입니다.

primaryKeyColumns
DataColumn[]

기본 키 열 또는 부모 열인 DataColumn 개체의 배열입니다.

foreignKeyColumns
DataColumn[]

외래 키 열 또는 자식 열인 DataColumn 개체의 배열입니다.

반환

ForeignKeyConstraint입니다.

예제

다음 예제에서는 DataColumn 개체의 두 배열을 만든 다음, 데이터 세트의 두 테이블 간에 두 개의 ForeignKeyConstraint 관계를 만듭니다.

private void AddForeignConstraint(
    DataSet dataSet, DataTable table)
{
    try
    {
        DataColumn[] parentColumns = new DataColumn[2];
        DataColumn[] childColumns = new DataColumn[2];
        // Get the tables from the DataSet.
        DataTable customersTable = dataSet.Tables["Customers"];
        DataTable ordersTable = dataSet.Tables["Orders"];

        // Set Columns.
        parentColumns[0]=customersTable.Columns["id"];
        parentColumns[1]=customersTable.Columns["Name"];
        childColumns[0] = ordersTable.Columns["CustomerID"];
        childColumns[1] = ordersTable.Columns["CustomerName"];

        // Create ForeignKeyConstraint
        table.Constraints.Add("CustOrdersConstraint",
            parentColumns, childColumns);
    }
    catch(Exception ex)
    {
        // In case the constraint already exists,
        // catch the collision here and respond.
        Console.WriteLine("Exception of type {0} occurred.",
            ex.GetType());
    }
}
Private Sub AddForeignConstraint( _
ByVal dataSet As DataSet, ByVal table As DataTable)
    Try
        Dim parentColumns(1) As DataColumn
        Dim childColumns(1) As DataColumn
        ' Get the tables from the DataSet.
        Dim customersTable As DataTable = _
            dataSet.Tables("Customers")
        Dim ordersTable As DataTable = _
            dataSet.Tables("Orders")

        ' Set Columns.
        parentColumns(0) = customersTable.Columns("id")
        parentColumns(1) = customersTable.Columns("Name")
        childColumns(0) = ordersTable.Columns("CustomerID")
        childColumns(1) = ordersTable.Columns("CustomerName")

        ' Create ForeignKeyConstraint
        table.Constraints.Add("CustOrdersConstraint", _
            parentColumns, childColumns)

    Catch ex As Exception
        ' In case the constraint already exists, 
        ' catch the collision here and respond.
        Console.WriteLine("Exception of type {0} occurred.", _
            ex.GetType().ToString())
    End Try
End Sub

설명

CollectionChanged 제약 조건이 성공적으로 추가되면 이벤트가 발생합니다.

적용 대상