Поделиться через


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 для создания и добавления нового 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

Создает новое ограничение 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

Параметры

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)

Исходный код:
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

Создает новое ограничение 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

Параметры

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 возникает, если ограничение успешно добавлено.

Применяется к