Rule Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica l'azione che si verifica quando viene applicato un ForeignKeyConstraint.
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- Ereditarietà
Campi
Cascade | 1 | Elimina o aggiorna righe correlate. Questa è l'impostazione predefinita. |
None | 0 | Non viene eseguita alcuna operazione sulle righe correlate. |
SetDefault | 3 | Imposta i valori nelle righe correlate sul valore contenuto nella proprietà DefaultValue. |
SetNull | 2 | Imposta i valori nelle righe correlate su |
Esempio
' 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
Commenti
I Rule valori vengono impostati su UpdateRule e le DeleteRule proprietà di un ForeignKeyConstraint oggetto trovato in un DataTable oggetto .ConstraintCollection
I Rule valori determinano l'azione che si verifica quando un valore in una colonna viene eliminato o aggiornato. Tra i due, l'eliminazione di un valore è più critica e impegnativa dell'attenzione quando si imposta una regola.
Nel caso in cui venga eliminato un valore, Cascade
specifica che vengono eliminate anche tutte le righe contenenti tale valore. SetNull
specifica che i valori in tutte le colonne figlio sono impostati su valori Null. SetDefault
specifica che tutte le colonne figlio devono essere impostate sul valore predefinito per la colonna. None
specifica che non verrà eseguita alcuna azione, ma vengono generate eccezioni.
Nel caso in cui un valore venga aggiornato, Cascade
specifica che tutte le colonne figlio vengono aggiornate in modo analogo con il nuovo valore. SetNull
specifica che tutte le colonne figlio devono essere impostate su valori Null. SetDefault
specifica che tutti i valori di colonna figlio devono essere impostati sul valore predefinito. None
specifica che non viene eseguita alcuna azione, ma vengono generate eccezioni.
I vincoli per un oggetto DataSet non vengono applicati a meno che la EnforceConstraints proprietà non sia true
.
Quando viene chiamato il AcceptChanges metodo , determina AcceptRejectRule ulteriormente l'azione che si verifica.