Ir para conteúdo

POWERED BY:

Arquivado

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

marcio da silva dias

Oque tem de errado no código

Recommended Posts

minha tela de cadastro que criei no delphi com mysql usei o trio de componentes SQLDataSet1 DataSetProvider1 ClientDataSet1

 

ele está tudo certo mais o nome do login aparece nele mais não é o mesmo que se logou

 

 

procedure TF_UsuarioSenha.btnLoginClick(Sender: TObject);
begin
if (edtLogin.Text = '') then
begin
ShowMessage('O campo Login está vazio'); // Se o campo Login estiver vazio, retorna a msg de erro
end
else
if (edtSenha.Text = '') then
begin
ShowMessage('O campo Senha está vazio'); // Se o campo Senha estiver vazio, retorna a msg de erro
end
else
begin
Dm.cdsLoginSenha.Open; // abre a tabela tab_Usuarios
F_Principal.StatusBar.Panels[2].Text := ' O Login do Usuário é: ' + Dm.cdsLoginSenhaLOGIN.AsSTring;
F_Principal.Caption := 'Administrado do Sistema em uso pelo Administrador: ' + Dm.cdsLoginSenhaLOGIN.AsSTring;
//F_Principal.lblUsuario.Caption := ' Nome do Usuário:' + Dm.cdsLoginSenhaNome.AsSTring;
F_Principal.Label5.Caption := ' O Login do Usuário é: ' + Dm.cdsLoginSenhaLOGIN.AsSTring;
If not (Dm.cdsLoginSenha.Locate('Login', F_UsuarioSenha.edtLogin.Text,[loPartialKey ])) or (Dm.cdsLoginSenhaSENHA.Value <> F_UsuarioSenha.EdtSenha.Text) then
begin
MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
+ 'Se você esqueceu sua senha, consulte '+ #13
+ 'o administrador do sistema', mtError, [mbOK], 0);
EdtSenha.Clear; // limpa o objeto EdtSenha
EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
end
else
begin
F_UsuarioSenha.Hide; //Esconde a tela
F_Principal.ShowModal; //chama a tela FrmMenuPrin no modo modal
F_UsuarioSenha.Release; //Remove a tela da memória
F_UsuarioSenha := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Colega, vc esta carregando as variaveis antes do locate, faça o seguinte:

procedure TF_UsuarioSenha.btnLoginClick(Sender: TObject);
begin
if (edtLogin.Text = '') then
begin
ShowMessage('O campo Login está vazio'); // Se o campo Login estiver vazio, retorna a msg de erro
end
else
if (edtSenha.Text = '') then
begin
ShowMessage('O campo Senha está vazio'); // Se o campo Senha estiver vazio, retorna a msg de erro
end
else
begin
Dm.cdsLoginSenha.Open; // abre a tabela tab_Usuarios
//F_Principal.lblUsuario.Caption := ' Nome do Usuário:'  + Dm.cdsLoginSenhaNome.AsSTring;
If not (Dm.cdsLoginSenha.Locate('Login', F_UsuarioSenha.edtLogin.Text,[loPartialKey ])) or  (Dm.cdsLoginSenhaSENHA.Value <> F_UsuarioSenha.EdtSenha.Text) then
 begin
                 MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
      + 'Se você esqueceu sua senha, consulte '+ #13
               + 'o administrador do sistema', mtError, [mbOK], 0);
      EdtSenha.Clear; // limpa o objeto EdtSenha
               EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
end
else
begin
    F_Principal.Label5.Caption := ' O Login do Usuário é: '  + Dm.cdsLoginSenhaLOGIN.AsSTring;
    F_Principal.Caption := 'Administrado do Sistema em uso pelo Administrador: '  + Dm.cdsLoginSenhaLOGIN.AsSTring;
    F_Principal.StatusBar.Panels[2].Text := ' O Login do Usuário é: '  + Dm.cdsLoginSenhaLOGIN.AsSTring;
    F_UsuarioSenha.Hide; //Esconde a tela
    F_Principal.ShowModal; //chama a tela FrmMenuPrin no modo modal
                 F_UsuarioSenha.Release; //Remove a tela da memória
                  F_UsuarioSenha := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

 end;
end;

Veja se da certo...

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.