Rule Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Indica a ação que ocorre quando um ForeignKeyConstraint é imposto.
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- Herança
Campos
Cascade | 1 | Excluir ou atualizar linhas relacionadas. Esse é o padrão. |
None | 0 | Nenhuma ação em linhas relacionadas. |
SetDefault | 3 | Definir valores em linhas relacionadas como o valor contido na propriedade DefaultValue. |
SetNull | 2 | Definir valores em linhas relacionadas como |
Exemplos
' 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
Comentários
Os Rule valores são definidos como e UpdateRule as DeleteRule propriedades de um ForeignKeyConstraint objeto encontrado em um DataTable objeto ConstraintCollection.
Os Rule valores determinam a ação que ocorre quando um valor em uma coluna é excluído ou atualizado. Dos dois, excluir um valor é o mais crítico e exigente de atenção ao definir uma regra.
No caso em que um valor é excluído, Cascade
especifica que todas as linhas que contêm esse valor também são excluídas. SetNull
especifica que os valores em todas as colunas filho são definidos como valores nulos. SetDefault
especifica que todas as colunas filho sejam definidas como o valor padrão da coluna. None
especifica que nenhuma ação ocorrerá, mas exceções são geradas.
No caso em que um valor é atualizado, Cascade
especifica que todas as colunas filho também são atualizadas com o novo valor. SetNull
especifica que todas as colunas filho sejam definidas como valores nulos. SetDefault
especifica que todos os valores de coluna filho sejam definidos como o valor padrão. None
especifica que nenhuma ação seja tomada, mas as exceções são geradas.
As restrições em um DataSet não são impostas, a menos que a EnforceConstraints propriedade seja true
.
Quando o AcceptChanges método é chamado, o AcceptRejectRule determina ainda mais qual ação ocorre.