Ver Mensaje Individual
  #5  
Antiguo 27-03-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
laelen:

Creo que te estás liando demasiado y en realidad ya tienes resuelto el problema. Tu consulta:

Código SQL [-]
select usuario, password from usuarios
where usuario = :usuario and password = md5(:password)

es más que suficiente; estás comparando el password (almacenando con md5) con el md5 del password que se escribe en el edit. Así que ya no tienes que hacer más nada; no entiendo porqué quieres obtener el valor de los campos usuario y password, no los necesitas.

Tu código quedaría más o menos así:

Código Delphi [-]
procedure TfrmAcceso.Validacion;
begin
  with frmPrincipal.myqry do
  begin
    Database:= frmPrincipal.mydb;
    Close;
    SQL.Clear;
    SQL.Text:= 'SELECT Usuario,Password FROM Usuarios WHERE Usuario =:Usuario AND Password = Md5(:Password)';
    ParamByName('Usuario').AsString:= ledtUsuario.Text;
    ParamByName('Password').AsString:= ledtPassword.Text;
    Open;

    if isempty then
    begin
      Application.MessageBox('El usuario y contraseña son invalidos.'+#13+'Intentelo de nuevo', 'Advertencia', + MB_ICONWARNING + MB_OK);
      ledtPassword.SetFocus;
    end
    else
    begin
      Application.MessageBox('El usuario y contraseña son invalidos.'+#13+'Intentelo de nuevo', 'Advertencia', MB_ICONWARNING + MB_OK );
      ledtUsuario.SetFocus;
    end;
end;

Y ya, el resto es innecesario.

// Saludos
Responder Con Cita