Rule Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Indica a ação que ocorre quando a ForeignKeyConstraint é aplicada.
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- Herança
Campos
| Name | Valor | Description |
|---|---|---|
| None | 0 | Nenhuma ação tomada em relação a linhas relacionadas. |
| Cascade | 1 | Excluir ou atualizar linhas relacionadas. Este é o padrão. |
| SetNull | 2 | Defina valores em linhas relacionadas para |
| SetDefault | 3 | Defina valores em linhas relacionadas ao valor contido na DefaultValue propriedade. |
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
Observações
Os Rule valores são definidos para e UpdateRule as DeleteRule propriedades de um ForeignKeyConstraint objeto encontradas em DataTableConstraintCollection.
Os Rule valores determinam a ação que ocorre quando um valor numa coluna é eliminado ou atualizado. Dos dois, eliminar um valor é o mais crítico e exigente de atenção ao definir uma regra.
No caso de um valor ser eliminado, Cascade especifica que todas as linhas que contêm esse valor também são eliminadas.
SetNull especifica que os valores em todas as colunas filhos são definidos como valores nulos.
SetDefault especifica que todas as colunas filhas devem ser definidas para o valor padrão da coluna.
None especifica que nenhuma ação ocorrerá, mas são geradas exceções.
No caso de um valor ser atualizado, Cascade especifica que todas as colunas filhas são igualmente atualizadas com o novo valor.
SetNull especifica que todas as colunas filhos sejam definidas com valores nulos.
SetDefault especifica que todos os valores das colunas filhos devem ser definidos para o valor padrão.
None especifica que nenhuma ação deve ser tomada, mas são geradas exceções.
As restrições sobre a DataSet não são aplicadas a menos que a EnforceConstraints propriedade seja true.
Quando o AcceptChanges método é chamado, determina AcceptRejectRule ainda que ação ocorre.