ForeignKeyConstraint.DeleteRule 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定資料列刪除時會跨越這個條件約束發生的動作。
public:
virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
public virtual System.Data.Rule DeleteRule { get; set; }
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
[<System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")>]
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule
屬性值
其中一個 Rule 值。 預設為 Cascade。
- 屬性
範例
下列範例會建立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 fkConstraint As ForeignKeyConstraint
' Set parent and child column variables.
parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
childColumn = suppliersProducts.Tables("Products").Columns("SupplieriD")
fkConstraint = New ForeignKeyConstraint( _
"SuppierFKConstraint", parentColumn, childColumn)
' Set null values when a value is deleted.
fkConstraint.DeleteRule = Rule.SetNull
fkConstraint.UpdateRule = Rule.Cascade
fkConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
' Add the constraint, and set EnforceConstraints to true.
suppliersProducts.Tables("Suppliers").Constraints.Add(fkConstraint)
suppliersProducts.EnforceConstraints = True
End Sub
備註
從父數據表中刪除數據列時,會 DeleteRule 決定子數據表數據行 (或數據表) 會發生什麼情況。 如果規則設定為 Cascade,則會刪除子數據列。
如果設定為 SetNull, DBNull 則會將 放在受影響數據列的適當數據行中。 視您的數據源而定,數據行中可能會允許或不允許 Null 值。 例如,SQL Server 允許在主鍵數據行中找到多個 Null 值,即使它們不是唯一的。
DataTable不過,在 中,如果DataColumn對象的 Unique 屬性設定為 true,主鍵數據行中不允許多個 Null 值。
如果設定為 SetDefault,則會指派數據行的預設值。