none
CONCORRÊNCIA DE DADOS RRS feed

  • Pergunta

  • Ae galera...

     

    Alguém sabe como tratar problemas de concorrencia utilizando gridView associado a um objectDataSource... O seguinte problema está ocorrendo:

     

    Abrindo dois browsers e excluindo um registro no primeiro... Quando tento excluir/alterar esse registro no outro ele realiza a operação no registro posterior ao selecionado na grid... E caso o registro alterado seja o último da grid.. no segundo browser ocorre o erro...

     

    Em que evento tratar isso... Minha aplicação está funcionando em tres camadas...

     

    Apresentaçao (aspx) -> Facade (Interface) -> Negocio (BO) -> Base Dados (DAO)

     

    Outro problema é como tratar dados com relacionamentos com outras entidades... Até consigo capturar a excecao mas não consigo mostrar a msg para o usuario e sempre me direciona para a página de erro....

     

    Faco o teste abaixo no catch do evento Grid1_RowDeleting e tambem no Grid1_RowDeleted.. E debugando eu já vi que entra no if... porem não mostra nenhuma msg e direciona para a página de erro.

     

    If (e.Exception.InnerException.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)

    Carrega_Grid()

    End If

     

    Estou com esse problema a algum tempo... E ninguem conseguiu me responder algo de concreto...

     

    ALGUM FILHO DE DEUS.. HELP ME PLEASE... uaehuahuahuahe

     

    Sad Sad Sad Sad

    terça-feira, 3 de julho de 2007 18:54

Todas as Respostas

  • Oi !

     

    Habilite a propriedade EnableViewState da Gridview e confirme se o problema não irá desaparecer por completo...

     

    []'s

     

    quinta-feira, 5 de julho de 2007 03:22
  • Olá Dennes,

     

    Essa propriedade já está habilitada... Sad Sad

     

    Alguma outra sugestão??

     

    Valeu.. Obrigado

     

     

    quinta-feira, 5 de julho de 2007 13:36
  • Oi !

     

    Fiz esse exemplo aqui utilizando sqldatasource/gridview. Só tive problemas desabilitando o viewstate, com o viewstate habilitado tudo funciona corretamente.

     

    Já que seu viewstate está habilitado, seu código pode estar no mínimo estranho para causar este erro.

     

    []'s

     

     

    quinta-feira, 5 de julho de 2007 21:35