Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

noseDeep

problema com login

Recommended Posts

tenho o seguinte codigo pra checar logins.....

 

if not QRLogin.Locate('NOME',edtLogin.text,[])  then	begin	  messagedlg('Usuario não encontrado',MTinformation,[MBOK],0);	end  else if not (QRLogin.FieldByName('SENHA').asString = edtlogin.text) then	begin	  messagedlg('Usuario e senha não conferem',MTinformation,[MBOK],0);	end  else	 begin	  pUsuario := QRLogin.FieldByName('NOME').AsString;	  frmLogin.caption := 'Usuario Aceito';	  sleep(100);	  logsis('INICIO DE ATIVIDADE. USUÁRIO: '+pUsuario);	  frmPrincipal.StatusBar1.Panels[1].Text := 'Usuario: '+pUsuario;	  pNivel := QRLogin.FieldByName('NIVEL').AsInteger;	  close;	end;

entao ta com u mrpoblema ele nao axa o usuario de forma alguma, creio eu q o locate nao está funcionando mas por q? eu heim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve Bom, por que você esta fazendo desta forma....Imagina que sua tabela tenho 1000 registro... você vai carregar todos para depois procurar o usuario...por que você não usa um select user from usuarios .... algo do tipo....Bom, espero ter ajudados em alguma coisa....Apocalise :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

with qrlogin do	begin	  close;	  sql.Clear;	  sql.Add('select * from usuarios where nome='+quotedstr(edtlogin.text));	  open;	end;  if not (QRLogin.FieldByName('nome').asString = edtLogin.text)  then	begin	  messagedlg('Usuario não encontrado',MTinformation,[MBOK],0);	end

colokei assim mas continua nao encontrando o usuario o q eu devo fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se não é problema com maiúsculas e minúsculas, se for faça assim:

with qrlogin do	begin	  close;	  sql.Clear;	  sql.Add('select count(nome) as num from usuarios where upper(nome)='+quotedstr(uppercase(edtlogin.text)));	  open;	end;  if  QRLogin.FieldByName('num').asInteger < 1 then	begin	  messagedlg('Usuario não encontrado',MTinformation,[MBOK],0);	end

se o nome do usuário possuir acentos aí a coisa complica!!

 

t+

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

if not QRLogin.Locate('NOME',edtLogin.text,[]) then

begin

messagedlg('Usuario não encontrado',MTinformation,[MBOK],0);

end

--

O que o pessoal postou acima é mail lógico de se usar, mas o seu código não há erros.

O que pode estar acontecendo é que se no campo tiver por ex: Paulo e você digitar paulo ele não vai achar.

Tente o seguinte (caso não queira usar query - conf dicas acima)

 

if not QRLogin.Locate('NOME',edtLogin.text,[loCaseInsensitive]) then

 

// assim ele não diferenciará maiúsculas de minúsculas.

// O mesmo não é aconselhável para senhas, pois assim você amplia o leque de possibilidades...

 

// acrescente na cláusula USES coloque -> DB

 

===

Flw

Inteh!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.