none
Problema com exclusao de registro RRS feed

  • Pergunta

  • Olá,

     

    Estou com um problema... Eu tenho um registro na minha grid que tem um relacionamento com outro registro... O problema é que se existir esse relacionamento eu tenho que dar uma msg para o usuario... só estou implementado o evento rowDeleting como segue abaixo... e tratando no try/catch:

     

    Protected Sub DgGrid_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles DgAliquota.RowDeleting

    Try

    Dim id As Integer

    id = DgGrid.DataKeys(Convert.ToInt32(e.RowIndex)).Value.ToString()

    Obj.id = id

    Facade.instance().Delete(Obj)

    ClientScript.RegisterStartupScript(Me.GetType(), "Erro", "alert(""" + MensagensUtil.EXCLUSAO_SUCESSO + """)", True)

    Carrega_Grid()

    Catch ex As Exception

    If (ex.Message.StartsWith(MensagensUtil.EXC_SIST_REG_INEXISTENTE)) Then

    'Exibe msg de ERRO e recarrega a grid.

    ClientScript.RegisterStartupScript(Me.GetType(), "Erro", "alert(""" + MensagensUtil.REGISTRO_JA_EXCLUIDO + """)", True)

    Carrega_Grid()

    ElseIf (ex.Message.StartsWith(MensagensUtil.EXC_SIST_CONSTRAINT_FK)) Then

    'Exibe msg de ERRO e recarrega a grid.

    ClientScript.RegisterStartupScript(Me.GetType(), "Erro", "alert(""" + MensagensUtil.EXISTE_RELACIONAMENTO + """)", True)

    End If

    End Try

    End Sub

     

    O problema é que na chamada desse evento sempre aparece a tela de erro com a msg:

    DELETE statement conflicted with COLUMN REFERENCE constraint 'FK_tab1_tab2'. The conflict occurred in database 'eletronico', table 'tab1', column 'idTab2'.
    The statement has been terminated.´

     

    Qdo ele cai no ElseIf (ex.Message.StartsWith(MensagensUtil.EXC_SIST_CONSTRAINT_FK)) ,não mostra o alert com a msg e vai para tela de erro...

     

    O que estou fazendo errado... ????? Sad Sad

     

    Eu tb sobrescrevi o evento  BtnExcluir_Click que é um botão que o usuario pode selecionar itens na grid e apertá-lo , no caso de exclusao multipla e faço o mesmo teste só que a msg aparece como alert e o comportamento da tela é normal a grid recarrega e nenhum dado é excluído...

    O problema só ocorre quando eu clico em uma imagem que existe para cada linha da grid... Que realiza a exclusao do item da linha especifica...

     

    Alguem pode ajudar????????

    quarta-feira, 13 de junho de 2007 14:50

Todas as Respostas

  • eu sei que a pergunta é meio nada a ver mas você já debugou para ver se ele está entrando nesse elseif? as vezes o ex.Message.StartsWith não esteja retornando verdadeiro por alguma diferença entre as duas strings... você já deu uma olhada nisso?

    só pra ter certeza mesmo... porque daí dá pra tentar imaginar outras causas

    []s

    sexta-feira, 15 de junho de 2007 12:07
  • Rpz..

    Já debuguei sim... Ele entra no elseIf ... Porém não sei pq cargas d'água ele tenta excluir o registro novamente... e dai direciona para a pagina de erro....

    LOUCURA... LOUCURA.. Deve ser algo nesses eventos da gridView qu estou tratando errado... Sad Sad Sad :\

    terça-feira, 19 de junho de 2007 11:24
  • sinistro mesmo, essa até eu to curioso pra saber como pode ser resolvida =P
    sexta-feira, 22 de junho de 2007 22:51