[firebase-br] Deveria retornar NULL mas não

Carlos - GMail krlosgilson em gmail.com
Seg Jan 21 11:07:16 -03 2013


Creio que está faltando o "suspend;" após o "end" do "for".

Em 20/01/2013 11:00, lista-request em firebase.com.br escreveu:
> Enviar submissões para a lista de discussão lista para
> 	lista em firebase.com.br
>
> Para se cadastrar ou descadastrar via WWW, visite o endereço
> 	http://firebase.com.br/mailman/listinfo/lista_firebase.com.br
> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
> corpo da mensagem para
> 	lista-request em firebase.com.br
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
> 	lista-owner em firebase.com.br
>
> Quando responder, por favor edite sua linha Assunto assim ela será
> mais específica que "Re: Contents of lista digest..."
>
>
> Resumos das últimas mensagens enviadas para a lista da FireBase.
>
> Tópicos de Hoje:
>
>     1. Deveria retornar NULL mas não (Mário Reis)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 20 Jan 2013 13:35:19 +0000 (UTC)
> From: Mário Reis<mariodosreyx em gmail.com>
> To: lista em firebase.com.br
> Subject: [firebase-br] Deveria retornar NULL mas não
> Message-ID:<loom.20130120T135258-990 em post.gmane.org>
> Content-Type: text/plain; charset=utf-8
>
> Boas,
>
> Estou a usar o FB2.5+WIN7(+Delphi7), mas para o que me tras chega falar do
> FB2.5 segundo penso. É assim:
>
> Numa "Store Procedure" estou a ler um ficheiro ordenado por TipoRegisto +
> NoSocio, através de um cursor (While !Eof) e dentro deste tenho um segundo
> While coluna "Socio"=Variavel "WSocio" e !Eof durante o qual analiso:
> Se coluna "StErro"='00'(S/Erro) carrego um ficheiro temporário senão actualizo
> o meu ficheiro de "Cobranças" assinalando apenas a coluna com o Status do erro
> (de 01-a-30).
>
> Porém, quando rebenta este 2.º ciclo(interno) faço
>
> bloco-1.
>    WTotVlr=NULL;
>    WStErro=NULL;
>
> bloco-2.
>   Select Sum(TmpCb.Vlr), TmpCb.StErro From TmpCb Into :WTotVlr, :WStErro,
> seguido de:
>
> bloco-3.
>     If (:WTotVlr>0) Then
>      begin
>        GeraRecibo...
>        If (Sucesso) Then
>         For Select TmpCb...
>          begin
>           UpDate Cobrancas Set...
>
>          end
>      end /* WTotVlr>0 */
>
> Ora, caso apanhe um único registo em Erro não chego a carregar qualquer
> registo no ficheiro Tmp. Então, ao executar o comando do bloco 2, pela lógica,
> acreditava que a variaveis  :WTotVlr e :WStErro fossem afectadas com NULL, mas
> não.
> Depois de alguma luta percebi que o bloco 1 é obrigatório, porque se o
> ficheiro estiver vazio as variáveis não são reinicializadas.
>
> A minha questão é saber se isto é só assim no FB2.5 porque tanto quando me
> recordo no MS-Sql Server e PostgreSql, nestes casos, as variáveis são sempre
> reafectadas.
>
> Agradeço qualquer esclarecimento.
>
> Obrigado
>
> Mário
>
>
>
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> lista mailing list
> lista em firebase.com.br
> http://firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
> ------------------------------
>
> Fim da Digest lista, volume 2952, assunto 1
> *******************************************




Mais detalhes sobre a lista de discussão lista