[firebase-br] Consulta SQL com Parâmetros

Alan Francisco alanfranc em ig.com.br
Qui Ago 6 11:16:10 -03 2009


DÁ UM CLOSE NO DATASET E OPEN



Em 05/08/09, Reginaldo Martins Costa <rmc1701e em ig.com.br> escreveu:
>
> Amigos,
>
> Estou desenvolvendo uma aplicação em DELPHI 2006 utilizando:
> TSQLConnection ==> TSQLQuery -> TDataSetProvider -> TClientDataSet ->
> TDataSource
>
> Ocorre que as consultas SQL que possuem parâmetros só retornam o resultado
> da primeira vez que eu consulto.
>
> Exemplo: tenho a seguinte SQL:
> SELECT * FROM usuario usu
> WHERE usu.usriCdUsuario = :CdUsuario
> AND usu.usriCdSenha = :CdSenha
> No Delphi, o código está da seguinte forma:
> with dmdsgipri.qryUsuarioLog do begin
>      Close;
>      dmdsgipri.cdsUsuarioLog.Close;
>      ParamByName('CdUsuario').AsString := edtUsuario.Text;
>      ParamByName('CdSenha').AsString := edtSenha.Text;
>      Open;
>      dmdsgipri.cdsUsuarioLog.Active := true;
>      if dmdsgipri.cdsUsuarioLog.RecordCount = 1 then
>        lAcesso := true
>      else
>      begin
>        MessageDlg('Usuário não Cadastrado',mtError,[mbOk],0);
>        lAcesso := false;
>      end;
>    end;
> Eu efetuo o login com o usuário "aaa" senha "1". Se eu efetuo o logon e
> tento novo logn com o usuário "A2" senha "2", o conteúdo no cdsUsuarioLog
> ainda é o resultado da primeira consulta (usuário "aaa" senha "1").
>
> Fiz alguns testes processando o qryUsuarioLog  e exibindo os campos com
> "showmessage" e aparentemente a segunda consulta retorna o resultado
> correto. O problema é no ClientDataSet.
>
> Alguem já passou por este tipo de problema?
>
> Agradeço qualquer dica.
>
> Reginaldo.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista