次の方法で共有


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

指定した 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 です。

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

このコレクションには同じ名前の制約が既に含まれています。 (比較では、大文字と小文字を区別しません。)

次の例では、 UniqueConstraint の に ConstraintCollectionDataTable追加します。

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

指定した名前、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 使用して を作成し、 に新しい UniqueConstraintConstraintCollection追加します。

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

指定した名前、親列、および子列を使用して新しい 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

次の例では、 の に新しい ForeignKeyConstraintDataTableConstraintCollection追加します。

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

指定した名前、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

例外

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

-または-

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

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

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

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

指定した親列と子列の配列を使用して新しい 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

次の例では、オブジェクトの 2 つの配列を作成し、データセット内の DataColumn 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 、制約が正常に追加された場合に発生します。

適用対象