ForeignKeyConstraint.DeleteRule Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví akci, která nastane přes toto omezení při odstranění řádku.
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
Hodnota vlastnosti
Jedna z Rule hodnot. Výchozí formát je Cascade
.
- Atributy
Příklady
Následující příklad vytvoří ForeignKeyConstraint, nastaví různé jeho vlastnosti a přidá ho do objektu DataTableConstraintCollection.
' 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
Poznámky
Při odstranění řádku z nadřazené tabulky určuje, DeleteRule co se stane ve sloupcích podřízené tabulky (nebo tabulek). Pokud je pravidlo nastavené na Cascade
, podřízené řádky se odstraní.
Pokud je nastavená hodnota SetNull
, DBNull
umístí se do příslušných sloupců ovlivněných řádků. V závislosti na zdroji dat může nebo nemusí být hodnota null ve sloupci povolená. Například SQL Server umožňuje nalezení více hodnot null ve sloupci primárního klíče, i když nejsou jedinečné. Pokud je ale vlastnost objektu DataTableUnique nastavená DataColumn na true
, není ve sloupcích primárního klíče povoleno více hodnot null.
Pokud je nastavená hodnota SetDefault
, přiřadí se výchozí hodnota sloupce.