ForeignKeyConstraint.DeleteRule Vlastnost

Definice

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.

Platí pro