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