Inquiridor
Problema com exclusao de registro

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 Integerid = 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 SubO 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... ?????
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????????
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
-
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...
:\
-