fiz uma tela de login no delphi 2010 (xe7) interligada com o banco de dados acess , no banco de dados acess tenho uma tabela (login)com os campos usuario e senha ambos do tipo texto, como eu faço para comparar se o usuario e senha digitados pelo usuario sao iguais as cadastradas no banco de dados???
Se você consegue trazer dados do banco, basta comparar com o que foi digitado (em um TEdit, por exemplo). Qual a dificuldade que está tendo?
Dependendo de que componentes de acesso ao banco você está usando, pode fazer isso direto com SQL. Por exemplo, com TADOQuery, você pode fazer a consulta ao clicar em um botão. Algo do tipo:
// ADOQuery1 é um TADOQuery
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'SELECT * FROM login WHERE usuario = :paramusuario and senha = :paramsenha ';
ADOQuery1.Parameters.ParamByName('paramusuario').Value := editUsuario.Text; // editUsuario é um TEdit pro usuario digitar o nome de usuário
ADOQuery1.Parameters.ParamByName('paramsenha').Value := editSenha.Text; // editSenha é um TEdit
ADOQuery1.Open;
if (ADOQuery1.IsEmpty) then // se está vazio, significa que não encontrou usuário com esse nome ou senha
ShowMessage('Nome de Usuário ou Senha Incorretos')
else
ShowMessage('Login OK');
ADOQuery1.Close;
Abraço.
1 curtida
voce quaseee tirou minha duvida, unica coisa que muda e que eu estou usando o Acess, banco de dados da microsoft ao inves do sql. Sabe o que muda no codigo?
Até onde sei, o Access permite usar SQL (note que estou falando da linguagem SQL, não do banco SQL Server). O que pode mudar são alguns detalhes de sintaxe. Você precisa ajustar o código para suas necessidades.
Abraço.
1 curtida
muito obrigado