語言

ConstraintCollection.Add 方法

定義

新增一個 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)

來源:
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 論證是空的。

該約束已屬於此集合,或屬於另一個集合。

該集合已經有一個同名的約束。 (此比較不區分大小寫。)

範例

以下範例將 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)

來源:
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。

例外狀況

該約束本身就屬於這個集合。

- 或者 -

該約束屬於另一個集合。

該集合已經有一個包含指定名稱的限制。 (此比較不區分大小寫。)

範例

以下範例使用 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
來源:
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。

範例

以下範例為 的 加入了 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)

來源:
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。

例外狀況

該約束本身就屬於這個集合。

- 或者 -

該約束屬於另一個集合。

該集合已經有一個包含指定名稱的限制。 (此比較不區分大小寫。)

範例

以下範例建立一個物件陣列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 ,並在資料集中建立兩個 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當該限制成功加入時,該事件即發生。

適用於