none
Mostar mensagem de alerta da tela

    Question

  • Tenho uma aplicação desenvolvida em DELHPI com banco de dados MSSQL 2008. Na maioria das tela do sistema ele sempre faz chamadas a procedures e em uma dessas procedure eu queria fazer com que fosse listado uma mensagem de alerta. Sei que posso usar o RAISERROR só que esta comando quando mostra a mensagem na tela ele para todo o processo. Eu queria que mostra-se a mesagem e eu pudesse continuar trabalhando.

    Exemplo vou colocar uma mensagem na tela de lançamento de pedido de venda para quando o cliente tivesse um crédito para retirar.... quando digita o código do cliente coloco o comando na procedure "CLIENTE TEM CRÉDITO" dou ok e continuo o processo. Fiz isso usando o RAISERROR mas ele limpa todos os dados que esta na tela.
    Exemplo do RAISERROR

    IF @vl_credito > 0 BEGIN
    SET @MENSAGEM = ' SEM SALDO EM ESTOQUE'
    RAISERROR 20002 @mensagem
    END
    Thursday, July 28, 2011 4:52 PM

Answers

  • Boa tarde,

    Dê uma olhada nesse artigo Tratando erros no SQL Server, acho que irá te ajudar.

    Se for o caso, marque como útil e como resposta.

    Até mais.


    Rafael Godoi Sabadin
    http://www.linkedin.com/pub/rafael-godoi-sabadin/30/b20/a0b


    Classifique as respostas. O seu feedback é essencial.

    Thursday, July 28, 2011 5:02 PM
  • Boa Tarde,

    Você pode usar o Raiserror para mensagens informacionais com severidade igual a 10 por exemplo. Isso não irá lançar uma exceção.

    Entretanto, não vejo o SQL Server e nenhum outro banco de dados como adequado para esse fim. Se você precisa mostrar uma mensagem de que o cliente tem crédito, o certo seria que a aplicação consultasse, mostrasse a mensagem e continuasse o processamento. Não sei se você conseguirá atingir o seu objetivo com o Raiserror, pois, supondo que sua aplicação é síncrona, não imagino ela disparar a SP, pegar a mensagem e continuar o processamento fazendo uma única chamada ao banco.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    Thursday, July 28, 2011 6:34 PM
    Moderator

All replies

  • Boa tarde,

    Dê uma olhada nesse artigo Tratando erros no SQL Server, acho que irá te ajudar.

    Se for o caso, marque como útil e como resposta.

    Até mais.


    Rafael Godoi Sabadin
    http://www.linkedin.com/pub/rafael-godoi-sabadin/30/b20/a0b


    Classifique as respostas. O seu feedback é essencial.

    Thursday, July 28, 2011 5:02 PM
  • Boa Tarde,

    Você pode usar o Raiserror para mensagens informacionais com severidade igual a 10 por exemplo. Isso não irá lançar uma exceção.

    Entretanto, não vejo o SQL Server e nenhum outro banco de dados como adequado para esse fim. Se você precisa mostrar uma mensagem de que o cliente tem crédito, o certo seria que a aplicação consultasse, mostrasse a mensagem e continuasse o processamento. Não sei se você conseguirá atingir o seu objetivo com o Raiserror, pois, supondo que sua aplicação é síncrona, não imagino ela disparar a SP, pegar a mensagem e continuar o processamento fazendo uma única chamada ao banco.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    Thursday, July 28, 2011 6:34 PM
    Moderator