Condividi tramite


ForeignKeyConstraint.DeleteRule Proprietà

Definizione

Ottiene o imposta l'azione che si verifica nel vincolo quando una riga viene eliminata.

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

Valore della proprietà

Uno dei valori di Rule. Il valore predefinito è Cascade.

Attributi

Esempio

Nell'esempio seguente viene creato un oggetto ForeignKeyConstraint, vengono impostate varie proprietà e viene aggiunto a un DataTable oggetto 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

Commenti

Quando una riga viene eliminata da una tabella padre, determina DeleteRule cosa accadrà nelle colonne della tabella figlio (o tabelle). Se la regola è impostata su Cascade, le righe figlio verranno eliminate.

Se impostato su SetNull, verrà inserito un DBNull oggetto nelle colonne appropriate delle righe interessate. A seconda dell'origine dati, un valore Null può essere consentito o meno in una colonna. Ad esempio, SQL Server consente di trovare più valori Null in una colonna chiave primaria, anche se non sono univoci. In , tuttavia, se la proprietà di Unique un DataTableDataColumn oggetto è impostata su true, non sono consentiti più valori Null nelle colonne chiave primaria.

Se impostato su SetDefault, viene assegnato il valore predefinito per la colonna.

Si applica a