Login com BD Access

Delphi

21/08/2013

tenho sistema de cadastro com ADOConnection e ADOQuery e tenho uma tela de login ligada ao BD de usuarios access e tenho vários usuarios cadastrados, porém só dá certo com um usuario, quando eu mudo o usuario da a msg que os dados estão incorretor.

minha tela de login tem tambem um ADOConnection e um ADOQuery com o código:



public
{ Public declarations }
login: boolean;
end;

var
frmLogin: TfrmLogin;

implementation

{$R *.dfm}

procedure TfrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
{ Aqui é o seguinte, se for pedido pra fechar a aplicação, antes
ele verificará se o usuário foi logado, caso não tenha sido ele
encerrará tudo, caso tenha sido ele apenas fechará a tela de login }

if login=false then
Application.Terminate
else
frmLogin.close;
end;

procedure TfrmLogin.btnLoginClick(Sender: TObject);
begin
// Condição para verificar se os campos não estão vazios.
if (edtSenha.text<>'') and (edtUser.text<>'') then begin
// Condição que testa a igualdade dos campos senha e usuário
if (EdtSenha.text=query.FieldByName('senha').AsString) and (edtUser.text=query.FieldByName('user').AsString) then begin
frmLogin.Close; // Fechar a tela de login (então é executado o OnClose do Form);
login:=true; // Setar variável como true;
end else begin
messageBox(handle,'Usuário ou Senha Inválida','ATENÇÃO!',MB_ICONERROR+mb_OK);
edtSenha.Text:='';
edtUser.text:='';
edtUser.SetFocus;
end;
end else
messageBox(handle,'Você deve preencher o nome de usuário e senha','ATENÇÃO!',MB_ICONERROR+mb_OK);
end;


e no oncreate do form incial:

procedure TfrmInicial.FormCreate(Sender: TObject);
begin
// AQUI O FORMULÁRIO INICIAL
frmLogin := tfrmLogin.create(application);
frmLogin.showmodal;
end;


Alguem pode me ajudar a resolver esse problema.

Paulo

Paulo

Curtidas 0

Respostas

Paulo Freire

Paulo Freire

21/08/2013

No btnLogin


with DM.ADOQuery_Acesso do
begin

DM.ADOQuery_Acesso.SQL.Clear;
DM.ADOQuery_Acesso.SQL.Text := 'SELECT * FROM TBL_ACESSO WHERE USUARIO =:WUSER AND SENHA =:WPASS';
DM.ADOQuery_Acesso.Parameters.ParamByName('WUSER').Value := Edit1.Text;
DM.ADOQuery_Acesso.Parameters.ParamByName('WPASS').Value := Edit2.Text;
DM.ADOQuery_Acesso.Open;

if DM.ADOQuery_Acesso.RecordCount > 0 then

begin

FrmPrincipal:=TFrmPrincipal.Create(self);
FrmPrincipal.ShowModal;

end else

begin
messagedlg('Usuário ou Senha incorreta.', mtinformation, [mbok], 0);
Edit2.SetFocus;
abort;
end
GOSTEI 0
POSTAR