none
Stored Procedure RRS feed

  • Pergunta

  •  

    Amigos, preciso de ajuda de voces,

     

    no codigo abaixo estou passando parametros pra uma stored procedure, se a clausula Where for mal sucedida, preciso recuperar o erro.

     

         Ex: se o usuario digitar um codigo onde eu passo como prametros uma string chamada Cod_GrupoUsuId, se esse

         codigo de gurpo não existir preciso recupera o erro da clausula where, pra mostra ao usuário que o codigo passado não existe no banco de dados cadastrado como Grupo de usuário..

     

    public void ModGrupoUsuarios(string Cod_GrupoUsuId, string NomeGrupo, string Nivel, string Permissao)

    {

    DbCommand Com = Data.GetStoredProcCommand("SPModGruposUsuarios");

    Data.AddInParameter(Com, "Cod_GrupoUsuId", DbType.String, Cod_GrupoUsuId);

    Data.AddInParameter(Com, "NomeGrupo", DbType.String, NomeGrupo);

    Data.AddInParameter(Com, "Nivel", DbType.String, Nivel);

    Data.AddInParameter(Com, "Permissao", DbType.String, Permissao);

    Data.ExecuteNonQuery(Com);

     

    obrigado pela ajuda.

     

    Wagner

     

     

     

    terça-feira, 18 de setembro de 2007 22:10

Todas as Respostas

  • Olá Wagner..

     

    eu não entendi como recuperar o erro... o que vc pode fazer é colocar o executenonquery dentro de um try/catch

    e ele vai mostrar o erro da sp.. igual a mensagem que iria apareger no query analyser

     

    try

       Data.ExecuteNonQuery(Com);

    catch ex as exception

         msgbox(ex.message)

    end try

     

    veja se isso já não te ajuda

     

    []s

     

    quarta-feira, 19 de setembro de 2007 01:52
  •  

    Wagner,

     

    Eu faria esse tratamento de erro na SP...

     

    Veja o exemplo abaixo

     

    DECLARE @TemGrupo Int

     

    SELECT @TemGrupo = Count(0) FROM SUA_TABELA WHERE Codigo = @Cod_GrupoUsuId

     

    IF @TemGrupo > 0

      Begin

     

        AQUI ENTRAM SUAS INSTRUÇÕES

     

      End

    ELSE

    Raiserror('Não foi possível continuar pois não existe nenhum grupo de usuários cadastrado com o código informado',16,2)

     

    P.S.: Vale lembrar que essa solução funciona perfeitamente se vc colocar as instruções do seu método ModGrupoUsuarios dentro de um bloco TRY / CATCH (Exception ERR).

     

    A mensagem que você colocar na SP será recebida na variável Exception "ERR" q vc declarar.

     

    Espero ter ajudado.

    quarta-feira, 19 de setembro de 2007 17:32
  • Valeu Giuliano,

     

       Obrigado pela dica.

     

      grato

     

    sexta-feira, 21 de setembro de 2007 11:48