Compartir vía


ForeignKeyConstraint.DeleteRule Propiedad

Definición

Obtiene o establece la acción que se produce en esta restricción cuando se elimina una fila.

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

Valor de propiedad

Uno de los valores de Rule. De manera predeterminada, es Cascade.

Atributos

Ejemplos

En el ejemplo siguiente se crea un ForeignKeyConstraint, se establecen varias de sus propiedades y se agregan a 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

Comentarios

Cuando se elimina una fila de una tabla primaria, determina DeleteRule lo que ocurrirá en las columnas de la tabla secundaria (o tablas). Si la regla se establece Cascadeen , se eliminarán las filas secundarias.

Si se establece SetNullen , se colocará en DBNull las columnas adecuadas de las filas afectadas. En función del origen de datos, puede o no permitirse un valor NULL en una columna. Por ejemplo, SQL Server permite que se encuentren varios valores NULL en una columna de clave principal, aunque no sean únicos. Sin embargo, en un DataTable, si la propiedad de Unique un DataColumn objeto está establecida trueen , no se permiten varios valores NULL en las columnas de clave principal.

Si se establece en SetDefault, se asigna el valor predeterminado de la columna.

Se aplica a