ConstraintCollection.Add 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
新增一個 Constraint 物件到集合中。
多載
| 名稱 | Description |
|---|---|
| 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 論證是空的。
該約束已屬於此集合,或屬於另一個集合。
該集合已經有一個同名的約束。 (此比較不區分大小寫。)
範例
以下範例將 a 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)
構造一個新建 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)
建立 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。
範例
以下範例為 的 加入了 ForeignKeyConstraintConstraintCollectionDataTable。
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
這個名稱 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當該限制成功加入時,該事件即發生。