none
Mensagem para indicar onde se deve excluir RRS feed

  • Pergunta

  • Bom dia senhores, estou desenvolvendo um projeto e eu gostaria de saber como que eu faço pra aparece a mensagem para excluir. Por exemplo, eu tenho minhas tabelas, eu relaciono minhas pk e fk. Quando eu incluo os meus dados no banco de dados, não consigo excluir eles, no caso se eu querer excluir minha pk da tabela anterior não posso por que está com minha fk, sendo assim tenho que excluir minha fk primeiro para depois excluir minha pk. Onde eu coloco essa mensagem?

    Grato

    sexta-feira, 28 de outubro de 2016 13:30

Respostas

  • Olá,

    Depende como está fazendo para excluir, mas pode fazer uma estrutura de tratamento de exceção, baseado nesse exemplo:

    try
    {
       // Comando para excluir
    }
    catch(Exception ex)
    {
       if (ex.Message.Contains("FK_NOME_DA_SUA_FK"))
          MessageBox.Show("Você deve excluir os itens da tabela relacionada antes......");
       else
          MessageBox.Show("Erro: " + ex.Message);
    }

    Espero ter ajudado!

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sexta-feira, 28 de outubro de 2016 13:47
  • Voce tem que fazer a gestao de erros. Essa açao vai gera uma excessao que pode ser capturada por um try..catch

    try
    {
        db.ExecuteNonQuery();
    }
    catch (SqlException ex)
    {
        if (ex.Errors.Count == 1) // Assume the interesting stuff is in the first error
        {
            switch (ex.Errors[0].Number)
            {
                case 547: // Foreign Key violation
                    throw new InvalidOperationException("Some helpful description", ex);
                    break;
                case 2601: // Primary key violation
                    throw new DuplicateRecordException("Some other helpful description", ex);
                    break;
                default:
                    throw new DataAccessException(ex);
            }
        }
        else throw;
    }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    sexta-feira, 28 de outubro de 2016 13:55
    Moderador

Todas as Respostas

  • Olá,

    Depende como está fazendo para excluir, mas pode fazer uma estrutura de tratamento de exceção, baseado nesse exemplo:

    try
    {
       // Comando para excluir
    }
    catch(Exception ex)
    {
       if (ex.Message.Contains("FK_NOME_DA_SUA_FK"))
          MessageBox.Show("Você deve excluir os itens da tabela relacionada antes......");
       else
          MessageBox.Show("Erro: " + ex.Message);
    }

    Espero ter ajudado!

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sexta-feira, 28 de outubro de 2016 13:47
  • Voce tem que fazer a gestao de erros. Essa açao vai gera uma excessao que pode ser capturada por um try..catch

    try
    {
        db.ExecuteNonQuery();
    }
    catch (SqlException ex)
    {
        if (ex.Errors.Count == 1) // Assume the interesting stuff is in the first error
        {
            switch (ex.Errors[0].Number)
            {
                case 547: // Foreign Key violation
                    throw new InvalidOperationException("Some helpful description", ex);
                    break;
                case 2601: // Primary key violation
                    throw new DuplicateRecordException("Some other helpful description", ex);
                    break;
                default:
                    throw new DataAccessException(ex);
            }
        }
        else throw;
    }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    sexta-feira, 28 de outubro de 2016 13:55
    Moderador
  • Grato!
    sexta-feira, 28 de outubro de 2016 15:55
  • Grato!
    sexta-feira, 28 de outubro de 2016 15:55