Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > PostgreSQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 26-07-2007
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
Hola

Para empeza te diré que entiendo muy bien tu pregunta, yo utilizo los componentes Zeos con bases de datos Firebird hace bastante tiempo .. y sí es cierto ... la documentación es bastante pobre ...

Creo que lo que quieres hacer es:
1) Guardar los usuarios y contraseñas dentro de la base de datos.
2) Dependiendo del usuario y clave que ingresa el usuario en un formulario darle acceso a cierto lugares.

¿es así?

Si es así, supongamos que tienes:
1) Un formulario con el nombre FLogIn una caja de edición (edUsuario), y una caja de edición con máscara para la clave (edClave).
2) Un DataModule (que podríamos llamarle DM), con un TZConnection (lo llamamos conexion), y un TZReadOnlyQuery (que llamaremos qValida). En connection del qValida se pone Conexion, y en SQL, lo siguiente:

Código SQL [-]
Select *
from Usuarios
where (usuario= :NOMBRE )
and (clave= :PASS )

(suponiendo que tengas una tabla Usuarios, con campos usuario, y clave ... cada uno adaptarlo a sus necesidades)

IMPORTANTE: Los componentes Zeos tienen un BUG con los parámetros, éstos deben tener un espacio adelante y otro atrás para que funcionen bien (ésto no lo leí en ningún lado ... fué más bien a fuerza de darme la cabeza contra la pared).


En el DataModule:

Código Delphi [-]
...
  public
    function Validar(Usuario,Clave:string):boolean;
  end;

...

function Validar(Usuario,Clave:string):boolean;
begin
  conexion.user:='usuarioadministrador';
  conexion.password:='clavedeadministrador';
  conexion.connect;
  qValida.close; // nos aseguramos que la consult esté cerrada
  qValida.ParamByName('NOMBRE').asstring:=Usuario;
  qValida.ParamByName('PASS').asstring:=Clave;
  qValida.open;

  // aquí van las instrucciones con las que levantás los permisos
  // o lo que sea que quieras hacer

end;

En el FLogIn (por ejemplo):

1) Incluyes el DataModule en la cláusula uses:
Código Delphi [-]
uses ..., DM;

2) En el evento onClick del botón OK:
Código Delphi [-]
procedure TFLogIn.ButtonOKClick(Sender: TObject);
begin
  if (DM.Validar(edUsuario.text,edClave.text)) then 
  begin
    // aquí el usuario está validado, etc....
  end;
end;

Saludos y espero te sirva
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi con Postgres FlacoNet PostgreSQL 11 15-02-2010 16:37:46
Cómo cerrar conexión? Delphi, Zeos y Postgres mangels PostgreSQL 4 16-11-2007 16:00:59
Postgres, Zeos y Delphi 7 quali PostgreSQL 3 15-03-2007 22:41:39
Delphi y Postgres trex2000 Conexión con bases de datos 2 19-09-2006 16:23:38
Conexion xon Postgres nuquen Linux 6 25-06-2003 20:33:08


La franja horaria es GMT +2. Ahora son las 09:29:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi