noseDeep 0 Denunciar post Postado Julho 20, 2006 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
apocalipse 0 Denunciar post Postado Julho 20, 2006 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
noseDeep 0 Denunciar post Postado Julho 20, 2006 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
Marcos Moleiro 0 Denunciar post Postado Julho 20, 2006 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
Darvene 0 Denunciar post Postado Julho 22, 2006 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 ===FlwInteh! Compartilhar este post Link para o post Compartilhar em outros sites