ForeignKeyConstraint 构造函数

定义

初始化 ForeignKeyConstraint 类的新实例。

重载

ForeignKeyConstraint(DataColumn, DataColumn)

使用指定的父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

ForeignKeyConstraint(DataColumn[], DataColumn[])

使用指定的父级和子级 ForeignKeyConstraint 对象的数组,初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, DataColumn, DataColumn)

使用指定的名称、父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

使用指定的名称、父级和子级 ForeignKeyConstraint 对象的数组初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

ForeignKeyConstraint(DataColumn, DataColumn)

使用指定的父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

public:
 ForeignKeyConstraint(System::Data::DataColumn ^ parentColumn, System::Data::DataColumn ^ childColumn);
public ForeignKeyConstraint (System.Data.DataColumn parentColumn, System.Data.DataColumn childColumn);
new System.Data.ForeignKeyConstraint : System.Data.DataColumn * System.Data.DataColumn -> System.Data.ForeignKeyConstraint
Public Sub New (parentColumn As DataColumn, childColumn As DataColumn)

参数

parentColumn
DataColumn

约束中的父级 DataColumn

childColumn
DataColumn

约束中的子级 DataColumn

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

示例

以下示例创建一个新 ForeignKeyConstraint属性,设置其一些属性,并将其添加到 DataTable 对象的集合 ConstraintCollection中。

' The next line goes into the Declarations section.
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts 
 
Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumn As DataColumn
   Dim childColumn As DataColumn
   Dim fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = _
       suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = _
       suppliersProducts.Tables("Products").Columns("SupplieriD")
   fkConstraint = New ForeignKeyConstraint(parentColumn, childColumn)

   ' Set various properties of the constraint.
   With fkConstraint
      .ConstraintName = "suppierFKConstraint"
      .DeleteRule = Rule.SetNull
      .UpdateRule = Rule.Cascade
      .AcceptRejectRule = AcceptRejectRule.Cascade
   End With

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables("Products").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

适用于

ForeignKeyConstraint(DataColumn[], DataColumn[])

使用指定的父级和子级 ForeignKeyConstraint 对象的数组,初始化 DataColumn 类的新实例。

public:
 ForeignKeyConstraint(cli::array <System::Data::DataColumn ^> ^ parentColumns, cli::array <System::Data::DataColumn ^> ^ childColumns);
public ForeignKeyConstraint (System.Data.DataColumn[] parentColumns, System.Data.DataColumn[] childColumns);
new System.Data.ForeignKeyConstraint : System.Data.DataColumn[] * System.Data.DataColumn[] -> System.Data.ForeignKeyConstraint
Public Sub New (parentColumns As DataColumn(), childColumns As DataColumn())

参数

parentColumns
DataColumn[]

约束中的父级 DataColumn 的数组。

childColumns
DataColumn[]

约束中的子级 DataColumn 的数组。

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

示例

以下示例创建一个新 ForeignKeyConstraint属性,设置其一些属性,并将其添加到 DataTable 对象的集合 ConstraintCollection中。

' The next line goes into the Declarations section.
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumns(1) As DataColumn
   Dim childColumns(1) As DataColumn
   Dim fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumns(0) = _
       suppliersProducts.Tables("OrderDetails").Columns("OrderID")
   parentColumns(1) = _
       suppliersProducts.Tables("OrderDetails").Columns("ProductID")
   childColumns(0) = _
       suppliersProducts.Tables("Sales").Columns("OrderID")
   childColumns(1) = _
       suppliersProducts.Tables("Sales").Columns("ProductID")
   fkConstraint = _
       New ForeignKeyConstraint(parentColumns, childColumns)

   ' Set various properties of the constraint.
   With fkConstraint
      .ConstraintName = "ProductSalesOrders"
      .DeleteRule = Rule.SetDefault
      .UpdateRule = Rule.Cascade
      .AcceptRejectRule = AcceptRejectRule.Cascade
   End With

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables( _
       "OrderDetails").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

适用于

ForeignKeyConstraint(String, DataColumn, DataColumn)

使用指定的名称、父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

public:
 ForeignKeyConstraint(System::String ^ constraintName, System::Data::DataColumn ^ parentColumn, System::Data::DataColumn ^ childColumn);
public ForeignKeyConstraint (string? constraintName, System.Data.DataColumn parentColumn, System.Data.DataColumn childColumn);
public ForeignKeyConstraint (string constraintName, System.Data.DataColumn parentColumn, System.Data.DataColumn childColumn);
new System.Data.ForeignKeyConstraint : string * System.Data.DataColumn * System.Data.DataColumn -> System.Data.ForeignKeyConstraint
Public Sub New (constraintName As String, parentColumn As DataColumn, childColumn As DataColumn)

参数

constraintName
String

约束的名称。

parentColumn
DataColumn

约束中的父级 DataColumn

childColumn
DataColumn

约束中的子级 DataColumn

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

示例

以下示例创建一个新 ForeignKeyConstraint属性,设置其一些属性,并将其添加到 DataTable 对象的集合 ConstraintCollection中。

' The next line goes into the Declarations section of the module:
   ' SuppliersProducts is a class derived from DataSet.
   Private suppliersProducts As SuppliersProducts

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumn As DataColumn
   Dim childColumn As DataColumn
   Dim fkeyConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = _
       suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = _
       suppliersProducts.Tables("Products").Columns("SupplierID")
   fkeyConstraint = New ForeignKeyConstraint( _
       "SupplierFKConstraint", parentColumn, childColumn)

   ' Set various properties of the constraint.
   With fkeyConstraint
      .DeleteRule = Rule.SetNull
      .UpdateRule = Rule.Cascade
      .AcceptRejectRule = AcceptRejectRule.Cascade
   End With

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

适用于

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

使用指定的名称、父级和子级 ForeignKeyConstraint 对象的数组初始化 DataColumn 类的新实例。

public:
 ForeignKeyConstraint(System::String ^ constraintName, cli::array <System::Data::DataColumn ^> ^ parentColumns, cli::array <System::Data::DataColumn ^> ^ childColumns);
public ForeignKeyConstraint (string? constraintName, System.Data.DataColumn[] parentColumns, System.Data.DataColumn[] childColumns);
public ForeignKeyConstraint (string constraintName, System.Data.DataColumn[] parentColumns, System.Data.DataColumn[] childColumns);
new System.Data.ForeignKeyConstraint : string * System.Data.DataColumn[] * System.Data.DataColumn[] -> System.Data.ForeignKeyConstraint
Public Sub New (constraintName As String, parentColumns As DataColumn(), childColumns As DataColumn())

参数

constraintName
String

ForeignKeyConstraint 的名称。 当添加到约束集合中时,如果是 null 或空字符串,则给出默认名称。

parentColumns
DataColumn[]

约束中的父级 DataColumn 的数组。

childColumns
DataColumn[]

约束中的子级 DataColumn 的数组。

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

示例

以下示例创建一个新 ForeignKeyConstraint属性,设置其一些属性,并将其添加到 DataTable 对象的集合 ConstraintCollection中。

Private Sub CreateConstraint(ByVal suppliersProducts As DataSet)
    ' Declare parent column and child column variables.
    Dim parentColumns(1) As DataColumn
    Dim childColumns(1) As DataColumn
    Dim fkConstraint As ForeignKeyConstraint

    ' Set parent and child column variables.
    parentColumns(0) = _
        suppliersProducts.Tables("OrderDetails").Columns("OrderID")
    parentColumns(1) = _
        suppliersProducts.Tables("OrderDetails").Columns("ProductID")
    childColumns(0) = _
        suppliersProducts.Tables("Sales").Columns("OrderID")
    childColumns(1) = _
        suppliersProducts.Tables("Sales").Columns("ProductID")
    fkConstraint = New ForeignKeyConstraint( _
        "ProductSalesOrders", parentColumns, childColumns)

    ' Set various properties of the constraint.
    With fkConstraint
        .DeleteRule = Rule.SetDefault
        .UpdateRule = Rule.Cascade
        .AcceptRejectRule = AcceptRejectRule.Cascade
    End With

    ' Add the constraint, and set EnforceConstraints to true.
    suppliersProducts.Tables("OrderDetails").Constraints.Add( _
        fkConstraint)
    suppliersProducts.EnforceConstraints = True
End Sub

适用于

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

public:
 ForeignKeyConstraint(System::String ^ constraintName, System::String ^ parentTableName, cli::array <System::String ^> ^ parentColumnNames, cli::array <System::String ^> ^ childColumnNames, System::Data::AcceptRejectRule acceptRejectRule, System::Data::Rule deleteRule, System::Data::Rule updateRule);
[System.ComponentModel.Browsable(false)]
public ForeignKeyConstraint (string? constraintName, string? parentTableName, string[] parentColumnNames, string[] childColumnNames, System.Data.AcceptRejectRule acceptRejectRule, System.Data.Rule deleteRule, System.Data.Rule updateRule);
[System.ComponentModel.Browsable(false)]
public ForeignKeyConstraint (string constraintName, string parentTableName, string[] parentColumnNames, string[] childColumnNames, System.Data.AcceptRejectRule acceptRejectRule, System.Data.Rule deleteRule, System.Data.Rule updateRule);
[<System.ComponentModel.Browsable(false)>]
new System.Data.ForeignKeyConstraint : string * string * string[] * string[] * System.Data.AcceptRejectRule * System.Data.Rule * System.Data.Rule -> System.Data.ForeignKeyConstraint
Public Sub New (constraintName As String, parentTableName As String, parentColumnNames As String(), childColumnNames As String(), acceptRejectRule As AcceptRejectRule, deleteRule As Rule, updateRule As Rule)

参数

constraintName
String

约束的名称。

parentTableName
String

在约束中包含父级 DataTable 对象的父级 DataColumn 的名称。

parentColumnNames
String[]

约束中父级 DataColumn 对象名称的数组。

childColumnNames
String[]

约束中子级 DataColumn 对象名称的数组。

acceptRejectRule
AcceptRejectRule

AcceptRejectRule 值之一。 可能的值包括 NoneCascadeDefault

deleteRule
Rule

当删除某行时要使用 Rule 值之一。 默认值为 Cascade。 可能的值包括:NoneCascadeSetNullSetDefaultDefault

updateRule
Rule

当某一行被更新时,要使用 Rule 值之一。 默认值为 Cascade。 可能的值包括:NoneCascadeSetNullSetDefaultDefault

属性

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

适用于

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

public:
 ForeignKeyConstraint(System::String ^ constraintName, System::String ^ parentTableName, System::String ^ parentTableNamespace, cli::array <System::String ^> ^ parentColumnNames, cli::array <System::String ^> ^ childColumnNames, System::Data::AcceptRejectRule acceptRejectRule, System::Data::Rule deleteRule, System::Data::Rule updateRule);
[System.ComponentModel.Browsable(false)]
public ForeignKeyConstraint (string? constraintName, string? parentTableName, string? parentTableNamespace, string[] parentColumnNames, string[] childColumnNames, System.Data.AcceptRejectRule acceptRejectRule, System.Data.Rule deleteRule, System.Data.Rule updateRule);
[System.ComponentModel.Browsable(false)]
public ForeignKeyConstraint (string constraintName, string parentTableName, string parentTableNamespace, string[] parentColumnNames, string[] childColumnNames, System.Data.AcceptRejectRule acceptRejectRule, System.Data.Rule deleteRule, System.Data.Rule updateRule);
[<System.ComponentModel.Browsable(false)>]
new System.Data.ForeignKeyConstraint : string * string * string * string[] * string[] * System.Data.AcceptRejectRule * System.Data.Rule * System.Data.Rule -> System.Data.ForeignKeyConstraint
Public Sub New (constraintName As String, parentTableName As String, parentTableNamespace As String, parentColumnNames As String(), childColumnNames As String(), acceptRejectRule As AcceptRejectRule, deleteRule As Rule, updateRule As Rule)

参数

constraintName
String

约束的名称。

parentTableName
String

在约束中包含父级 DataTable 对象的父级 DataColumn 的名称。

parentTableNamespace
String

Namespace 的名称。

parentColumnNames
String[]

约束中父级 DataColumn 对象名称的数组。

childColumnNames
String[]

约束中子级 DataColumn 对象名称的数组。

acceptRejectRule
AcceptRejectRule

AcceptRejectRule 值之一。 可能的值包括 NoneCascadeDefault

deleteRule
Rule

当删除某行时要使用 Rule 值之一。 默认值为 Cascade。 可能的值包括:NoneCascadeSetNullSetDefaultDefault

updateRule
Rule

当某一行被更新时,要使用 Rule 值之一。 默认值为 Cascade。 可能的值包括:NoneCascadeSetNullSetDefaultDefault

属性

例外

其中一列是或两列都是 null

列具有不同的数据类型。

  • 或 - 表不属于同一 DataSet

适用于