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)

ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
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 です。

制約は既にこのコレクションに属しているか、別のコレクションに属しています。

コレクションには既に同じ名前の制約があります。 (比較では大文字と小文字は区別されません)。

次の例では、UniqueConstraintConstraintCollectionDataTableを追加します。

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)

ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
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.

例外

制約は既にこのコレクションに属しています。

-Or-

制約は別のコレクションに属しています。

コレクションには、指定した名前の制約が既に存在します。 (比較では大文字と小文字は区別されません)。

次の例では、 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)

ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
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)

ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
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.

例外

制約は既にこのコレクションに属しています。

-Or-

制約は別のコレクションに属しています。

コレクションには、指定した名前の制約が既に存在します。 (比較では大文字と小文字は区別されません)。

次の例では、特定のDataColumnに新しいUniqueConstraintを作成するために使用するDataTable オブジェクトの配列を作成します。

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[])

ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
ConstraintCollection.cs
ソース:
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 オブジェクトの 2 つの配列を作成し、データセット内の 2 つのテーブル間に 2 つの 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 イベントが発生します。

適用対象