[firebase-br] Consulta SQL com Parâmetros
Reginaldo Martins Costa
rmc1701e em ig.com.br
Qua Ago 5 23:41:13 -03 2009
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.
Mais detalhes sobre a lista de discussão lista