ForeignKeyConstraint 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示值或資料列刪除或更新時,在主索引鍵/外部索引鍵關聯性 (Relationship) 中的資料行集上強制執行的動作限制。
public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
- 繼承
- 屬性
範例
下列範例會建立 、 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 null values when a value is deleted.
fkeyConstraint.DeleteRule = Rule.SetNull
fkeyConstraint.UpdateRule = Rule.Cascade
fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
' Add the constraint, and set EnforceConstraints to true.
suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
suppliersProducts.EnforceConstraints = True
End Sub
備註
ForeignKeyConstraint會限制刪除或更新數據行 (或數據行) 中的值時所執行的動作。 這類條件約束旨在與主鍵數據行搭配使用。 在兩個數據表之間的父子關聯性中,從父數據表刪除值可能會影響子數據列,方式如下之一。
子數據列也可以刪除 (級聯動作) 。
子數據行中的值 (或數據行) 可以設定為 Null 值。
子數據行中的值 (或數據行) 可以設定為預設值。
可以產生例外狀況。
ForeignKeyConstraint物件包含在 的 DataTable中ConstraintCollection,這是透過 屬性存取的 Constraints 。
除非 屬性設定為 true
,否則EnforceConstraints不會強制執行條件約束。
每當DataTable叫用物件的 AcceptChanges 方法時,就會AcceptRejectRule強制執行 。
建構函式
屬性
_DataSet |
取得這個條件約束所屬的 DataSet。 (繼承來源 Constraint) |
AcceptRejectRule |
指示在叫用 AcceptChanges() 時應該跨越這個條件約束來發生的動作。 |
Columns |
取得這個條件約束的子資料行。 |
ConstraintName |
ConstraintCollection 中的條件約束名稱。 (繼承來源 Constraint) |
DeleteRule |
取得或設定資料列刪除時會跨越這個條件約束發生的動作。 |
ExtendedProperties |
取得使用者定義條件約束屬性的集合。 (繼承來源 Constraint) |
RelatedColumns |
這個條件約束的父資料行。 |
RelatedTable |
取得這個條件約束的父資料表。 |
Table |
取得這個條件約束的子資料表。 |
UpdateRule |
取得或設定資料列更新時會跨越這個條件約束發生的動作。 |
方法
CheckStateForProperty() |
取得這個條件約束所屬的 DataSet。 (繼承來源 Constraint) |
Equals(Object) |
取得值,指出目前的 ForeignKeyConstraint 是否與指定的物件相同。 |
GetHashCode() |
取得 ForeignKeyConstraint 物件的這個執行個體之雜湊程式碼。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
SetDataSet(DataSet) |
設定條件約束的 DataSet。 (繼承來源 Constraint) |
ToString() |
取得 ConstraintName (如果有) 做為字串。 (繼承來源 Constraint) |
適用於
執行緒安全性
此類型適用於多線程讀取作業。 您必須同步處理任何寫入作業。