.NET Framework Class Library  

ConstraintCollection.Add Method

Adds a Constraint object to the collection.

Overload List

Adds the specified Constraint object to the collection.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Sub Add(Constraint)
[C#] public void Add(Constraint);
[C++] public: void Add(Constraint*);
[JScript] public function Add(Constraint);

Constructs a new UniqueConstraint with the specified name, DataColumn, and value indicating whether the column is a primary key, and adds it to the collection.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Overridable Function Add(String, DataColumn, Boolean) As Constraint
[C#] public virtual Constraint Add(string, DataColumn, bool);
[C++] public: virtual Constraint* Add(String*, DataColumn*, bool);
[JScript] public function Add(String, DataColumn, Boolean) : Constraint;

Constructs a new ForeignKeyConstraint with the specified name, parent column, and child column, and adds the constraint to the collection.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Overridable Function Add(String, DataColumn, DataColumn) As Constraint
[C#] public virtual Constraint Add(string, DataColumn, DataColumn);
[C++] public: virtual Constraint* Add(String*, DataColumn*, DataColumn*);
[JScript] public function Add(String, DataColumn, DataColumn) : Constraint;

Constructs a new UniqueConstraint with the specified name, array of DataColumn objects, and value indicating whether the column is a primary key, and adds it to the collection.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Overridable Function Add(String, DataColumn(), Boolean) As Constraint
[C#] public virtual Constraint Add(string, DataColumn[], bool);
[C++] public: virtual Constraint* Add(String*, DataColumn[], bool);
[JScript] public function Add(String, DataColumn[], Boolean) : Constraint;

Constructs a new ForeignKeyConstraint, with the specified arrays of parent columns and child columns, and adds the constraint to the collection.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Overridable Function Add(String, DataColumn(), DataColumn()) As Constraint
[C#] public virtual Constraint Add(string, DataColumn[], DataColumn[]);
[C++] public: virtual Constraint* Add(String*, DataColumn[], DataColumn[]);
[JScript] public function Add(String, DataColumn[], DataColumn[]) : Constraint;

Example

[Visual Basic, C#] The following example creates two arrays of DataColumn objects, and then creates two ForeignKeyConstraint relationships between two tables in a dataset.

[Visual Basic, C#] Note   This example shows how to use one of the overloaded versions of Add. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
Private Sub AddForeignConstraint(myDataSet As DataSet, myTable As DataTable)
    Try
        Dim parentCols(2) As DataColumn
        Dim childCols(2) As DataColumn
        ' Get the tables from the DataSet.
        Dim tCustomers As DataTable = myDataSet.Tables("Customers")
        Dim tOrders As DataTable = myDataSet.Tables("Orders")
           
        ' Set Columns.
        parentCols(0) = tCustomers.Columns("id")
        parentCols(1) = tCustomers.Columns("Name")
        childCols(0) = tOrders.Columns("CustID")
        childCols(1) = tOrders.Columns("CustName")
           
        ' Create ForeignKeyConstraint
        myTable.Constraints.Add("CustOrdersConstraint", parentCols, childCols)
    Catch e As Exception
        ' In case the constraint already exists, catch the collision here and respond.
     Dim log As System.Diagnostics.EventLog = New System.Diagnostics.EventLog()
     log.Source = "My Application"
     log.WriteEntry(e.ToString())
     Console.WriteLine("Exception of type {0} occurred.", e.GetType().ToString())
    End Try
End Sub

[C#] 
private void AddForeignConstraint(DataSet myDataSet, DataTable myTable){
   try{
      DataColumn[] parentCols = new DataColumn[2];
      DataColumn[] childCols = new DataColumn[2];
      // Get the tables from the DataSet.
      DataTable tCustomers = myDataSet.Tables["Customers"];
      DataTable tOrders = myDataSet.Tables["Orders"];

      // Set Columns.
      parentCols[0]=tCustomers.Columns["id"];
      parentCols[1]=tCustomers.Columns["Name"];
      childCols[0] = tOrders.Columns["CustID"];
      childCols[1] = tOrders.Columns["CustName"];

      // Create ForeignKeyConstraint
      myTable.Constraints.Add("CustOrdersConstraint",parentCols, childCols);
   }
   catch(Exception e){
      // In case the constraint already exists, catch the collision here and respond.
     System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
     log.Source = "My Application";
     log.WriteEntry(e.ToString());
     Console.WriteLine("Exception of type {0} occurred.", e.GetType());
   }
}

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

ConstraintCollection Class | ConstraintCollection Members | System.Data Namespace