RecorCount erro

Delphi

22/04/2004

Uso a seguinte instrução para checar se existe o operador cadastrado no banco:

query.close
query.clear;
query.sql.add(´select * from operadores where´);
query.sql.add(´(login =:login)and´);
query.sql.add(´(senha =:senha)´);
query.parambyname(´LOGIN´).Asstring:=edt_usuario.text;
query.parambyname(´SENHA´).Asstring:=edt_senha.text;
query.open
if query.recordcount > 0 then begin
aqui estou passando o codigo do operador
formulariosenhas.free;
query.close;
para uma variável global que está no formulário principal
usuario:=query.fieldbyname(´codigo_operador´).asinteger;
formularioprincipal.showmodal;
end else
volto o formulário de senha;

O que está acontecendo é que o código do operador sempre aparece zero e não o código do operador. O que fazer. Alguém tem uma dica melhor.


Oziasl

Oziasl

Curtidas 0

Respostas

Motta

Motta

22/04/2004

leia o help a respeito de tquery.recordcount

verifique possível erro na montagem da query

troque query.reocordcount > 0 por
not (query.eof)


GOSTEI 0
Lucas Silva

Lucas Silva

22/04/2004

troque query.reocordcount > 0 por not (query.eof)


pode usar também o comando [b:94972afcf2]query1.IsEmpty[/b:94972afcf2]


GOSTEI 0
Marco Salles

Marco Salles

22/04/2004

Analisei rapidamente o seu código e acho que voce esta fechando a query antes de passar o codigo do operador para a sua variável
query.close 
query.clear; 
query.sql.add(´select * from operadores where´); 
query.sql.add(´(login =:login)and´); 
query.sql.add(´(senha =:senha)´); 
query.parambyname(´LOGIN´).Asstring:=edt_usuario.text; 
query.parambyname(´SENHA´).Asstring:=edt_senha.text; 
query.open 
if query.recordcount > 0 then 
  begin 
     //aqui estou passando o codigo do operador 
     formulariosenhas.free; 
     usuario:=query.fieldbyname(´codigo_operador´).asinteger; 
     query.close; 
     //para uma variável global que está no formulário principal 
     formularioprincipal.showmodal; 
  end 
else 
volto o formulário de senha; 



GOSTEI 0
POSTAR