Compartilhar via


ConstraintCollection.CanRemove(Constraint) Método

Definição

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.

Aplica-se a