ConstraintCollection.Add メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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)
指定した 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のConstraintCollectionに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)
指定した名前、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)
指定した名前、親列、および子列を持つ新しい 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
- primaryKeyColumn
- DataColumn
主キー (親) DataColumn。
- foreignKeyColumn
- DataColumn
外部キー(子) DataColumn。
返品
新しい ForeignKeyConstraint.
例
次の例では、ForeignKeyConstraintのConstraintCollectionに新しい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)
指定した名前、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.
例外
コレクションには、指定した名前の制約が既に存在します。 (比較では大文字と小文字は区別されません)。
例
次の例では、特定の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[])
親列と子列の配列を指定して、新しい 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
- 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 イベントが発生します。