ConstraintCollection.CanRemove(Constraint) Método
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 se um Constraint pode ser removido.
public:
bool CanRemove(System::Data::Constraint ^ constraint);
public bool CanRemove (System.Data.Constraint constraint);
member this.CanRemove : System.Data.Constraint -> bool
Public Function CanRemove (constraint As Constraint) As Boolean
Parâmetros
- constraint
- Constraint
O Constraint a ser testado para remoção da coleção.
Retornos
true
se o Constraint puder ser removido da coleção, caso contrário, false
.
Exemplos
O exemplo a seguir usa o CanRemove método para determinar se um Constraint pode ser removido antes de tentar removê-lo.
private void TryRemove(DataSet dataSet)
{
try
{
DataTable customersTable = dataSet.Tables["Customers"];
Constraint constraint = customersTable.Constraints[0];
Console.WriteLine("Can remove? " +
customersTable.Constraints.CanRemove(constraint));
}
catch(Exception ex)
{
// Process exception and return.
Console.WriteLine("Exception of type {0} occurred.",
ex.GetType());
}
}
Private Sub TryRemove(dataSet As DataSet)
Try
Dim customersTable As DataTable = dataSet.Tables("Customers")
Dim constraint As Constraint = customersTable.Constraints(0)
Console.WriteLine("Can remove? " & _
customersTable.Constraints.CanRemove(constraint).ToString())
Catch ex As Exception
' Process exception and return.
Console.WriteLine("Exception of type {0} occurred.", _
ex.GetType().ToString())
End Try
End Sub
Comentários
O comportamento padrão sempre que um DataRelation é adicionado a um DataSet, é adicionar um ForeignKeyConstraint à tabela pai e um UniqueConstraint à tabela filho. O UniqueConstraint é aplicado à coluna de chave primária da tabela pai e é ForeignKeyConstraint aplicado à coluna de chave estrangeira da tabela filho. Como tentar remover o UniqueConstraint antes de remover o ForeignKeyConstraint faz com que uma exceção seja gerada, você sempre deve usar o CanRemove método antes de chamar Remove, para garantir que o UniqueConstraint possa ser removido.