次の方法で共有


ConstraintCollection.Add メソッド

Constraint オブジェクトをコレクションに追加します。

オーバーロードの一覧

指定した Constraint オブジェクトをコレクションに追加します。

.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);

指定した名前、 DataColumn 、およびその列が主キーかどうかを示す値を使用して、新しい UniqueConstraint を作成し、この制約をコレクションに追加します。

.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;

指定した名前、親列、および子列を使用して新しい ForeignKeyConstraint を作成し、この制約をコレクションに追加します。

.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;

指定した名前、 DataColumn オブジェクトの配列、およびその列が主キーかどうかを示す値を使用して新しい UniqueConstraint を作成し、その制約をコレクションに追加します。

.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;

指定した親列と子列の配列を使用して新しい ForeignKeyConstraint を作成し、この制約をコレクションに追加します。

.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;

使用例

[Visual Basic, C#, C++] DataColumn オブジェクトの配列を 2 つ作成し、データセット内の 2 つのテーブル間に ForeignKeyConstraint リレーションシップを 2 つ作成する例を次に示します。

[Visual Basic, C#, C++] メモ   ここでは、Add のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
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++] 
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->Item[S"Customers"];
       DataTable* tOrders = myDataSet->Tables->Item[S"Orders"];
 
       // Set Columns.
       parentCols->Item[0]=tCustomers->Columns->Item[S"id"];
       parentCols->Item[1]=tCustomers->Columns->Item[S"Name"];
       childCols->Item[0] = tOrders->Columns->Item[S"CustID"];
       childCols->Item[1] = tOrders->Columns->Item[S"CustName"];
 
       // Create ForeignKeyConstraint
       myTable->Constraints->Add(S"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 = S"My Application";
      log->WriteEntry(e->ToString());
      Console::WriteLine(S"Exception of type {0} occurred.", e->GetType());
    }
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

ConstraintCollection クラス | ConstraintCollection メンバ | System.Data 名前空間