Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2016
Belen12 Belen12 is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 29
Poder: 0
Belen12 Va por buen camino
Crear Un Login

hola buenas noches necesito un poco de ayuda y orietacion en este tema.Como dice el titulo tengo que crear un login.
El login ya lo cree utilizando el siguiente codigo:

Código Delphi [-]
begin
try
  fModulo.conexion.User := trim(eUsuario.Text);
  fModulo.conexion.Password := trim(eContrasenia.Text);
  fModulo.conexion.Connected := True ;
  fPrincipal.Caption := fprincipal.Caption + 'Usuario Conectado: ' +eUsuario.Text;
  except on Exception do
  begin
   Application.MessageBox('No se pudo establecer la conexion. Revise usuario o contraseña','Drugstore',MB_ICONERROR+MB_OK) ;
fLogin.ModalResult :=   mrNone;
  fLogin.eUsuario.SetFocus;
  end;
  end;
end;

el tema es que solo entra utilizando la contraseña root.Necesito ahora que se conecte a la tabla Cuentas de mi base de datos por el cual utilizo un tzTable asociado a esta tabla y su datasoucer. El tema es que no se como asociarlo e probado varios códigos que vi en foros pero no tuve resultados.
Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 31-05-2016
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
Thumbs up Buen día

Buen día y Dios te bendiga mucho.

No sé cual base de datos estas utilizando, pero esto que quieres hacer del login, puedes hacerlo de dos maneras:

1) creas un usuario en la base de datos, luego das los permisos necesarios para la base de datos y de ahí en adelante, como ya tienes configurado cual tabla puede acceder mediante el componente tztable automáticamente podrá modificar esta tabla.

2) creas un usuario de esta aplicación: ejemplo si tu aplicación se llama ADM, creas un usuario ADMusers y le das acceso a la base de datos que contiene la tabla de cuentas. Luego creas una tabla llamada usuarios con los campos usuario, contraseña, nombre usuario etc. Creas un Tzconection y te conectas con este usuario al servidor de base de datos y a la base de datos. Posterior a esto, entonces usas un tzquery para hacer la conección a la tabla usuarios y si es el mismo que está en la base de datos, entonces entras al formulario de las cuentas, de lo contrario muestra un mensaje de que no puede acceder.


Un ejemplo de como te puedes conectar es:

Código Delphi [-]
//Usé un componente adoquery llamado "queryiniciarsession"

//botón conectar.


procedure TForm1_Form_Login_Principal.BitBtn1Click(Sender: TObject);
begin
if (txtusuario.Text='') or (txtpassword.Text='') then
    begin
      ShowMessage('Usuario y/o Contraseña Incorrecta');
    end
else
if (txtusuario.Text <>'') and (txtpassword.Text<>'') then
    begin

      form_tablas.queryiniciarsession.SQL.Clear;
      form_tablas.queryiniciarsession.SQL.add('select * from Usuarios where Usuario =:usu');
      form_tablas.queryiniciarsession.Parameters.ParamByName('usu').Value := txtusuario.Text;
      form_tablas.queryiniciarsession.Open;


      if (txtpassword.Text = form_tablas.queryiniciarsession.Fieldbyname('Password').Asstring) then
        begin

         

          // esto es para saber si el usuario tiene que cambiar la contraseña en el proximo inicio de sesión. 
          if form_tablas.queryiniciarsession.Fieldbyname('CambioProximaSession').Asstring = 'Si' then
           begin
               showmessage('Debes cambiar tu contraseña');
               form_cambiar_contrasena.show
            end
          else
          // esto es para saber si el usuario está bloqueado o inactivo.
          if form_tablas.queryiniciarsession.Fieldbyname('Estado').Asstring = 'Inactivo' then
           begin
               showmessage('Favor contactar al Administrador del Sistema ya que este usuario está inactivo.');
            end

          else
            begin
           // Si todo está bien muestra bienvenida porque todo está bien.
          ShowMessage('Bienvenido(a) ' + form_tablas.queryiniciarsession.Fieldbyname('Nombre_Completo').Asstring);
          formPrincipal.LabeNombredelUsuario.Caption := form_tablas.queryiniciarsession.Fieldbyname('Nombre_Completo').Asstring;
          formPrincipal.Label_posicion.Caption := form_tablas.queryiniciarsession.Fieldbyname('Posicion').Asstring;
          txtpassword.Text := '';



          //este es el formulario de administración.
          formPrincipal.Show;

           //este es el formulario del login
          Form1_Form_Login_Principal.Visible:= false;


            end


        end
      else
      begin
      ShowMessage('Usuario y/o Contraseña Incorrecta');
      end
    end;

end;

Cualquier inquietud o duda me dejas saber.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #3  
Antiguo 01-06-2016
Belen12 Belen12 is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 29
Poder: 0
Belen12 Va por buen camino
Gracias

Cita:
Empezado por jeremiselxi Ver Mensaje
Buen día y Dios te bendiga mucho.

No sé cual base de datos estas utilizando, pero esto que quieres hacer del login, puedes hacerlo de dos maneras:

1) creas un usuario en la base de datos, luego das los permisos necesarios para la base de datos y de ahí en adelante, como ya tienes configurado cual tabla puede acceder mediante el componente tztable automáticamente podrá modificar esta tabla.

2) creas un usuario de esta aplicación: ejemplo si tu aplicación se llama ADM, creas un usuario ADMusers y le das acceso a la base de datos que contiene la tabla de cuentas. Luego creas una tabla llamada usuarios con los campos usuario, contraseña, nombre usuario etc. Creas un Tzconection y te conectas con este usuario al servidor de base de datos y a la base de datos. Posterior a esto, entonces usas un tzquery para hacer la conección a la tabla usuarios y si es el mismo que está en la base de datos, entonces entras al formulario de las cuentas, de lo contrario muestra un mensaje de que no puede acceder.


Un ejemplo de como te puedes conectar es:

Código Delphi [-]
//Usé un componente adoquery llamado "queryiniciarsession"

//botón conectar.


procedure TForm1_Form_Login_Principal.BitBtn1Click(Sender: TObject);
begin
if (txtusuario.Text='') or (txtpassword.Text='') then
    begin
      ShowMessage('Usuario y/o Contraseña Incorrecta');
    end
else
if (txtusuario.Text <>'') and (txtpassword.Text<>'') then
    begin

      form_tablas.queryiniciarsession.SQL.Clear;
      form_tablas.queryiniciarsession.SQL.add('select * from Usuarios where Usuario =:usu');
      form_tablas.queryiniciarsession.Parameters.ParamByName('usu').Value := txtusuario.Text;
      form_tablas.queryiniciarsession.Open;


      if (txtpassword.Text = form_tablas.queryiniciarsession.Fieldbyname('Password').Asstring) then
        begin

         

          // esto es para saber si el usuario tiene que cambiar la contraseña en el proximo inicio de sesión. 
          if form_tablas.queryiniciarsession.Fieldbyname('CambioProximaSession').Asstring = 'Si' then
           begin
               showmessage('Debes cambiar tu contraseña');
               form_cambiar_contrasena.show
            end
          else
          // esto es para saber si el usuario está bloqueado o inactivo.
          if form_tablas.queryiniciarsession.Fieldbyname('Estado').Asstring = 'Inactivo' then
           begin
               showmessage('Favor contactar al Administrador del Sistema ya que este usuario está inactivo.');
            end

          else
            begin
           // Si todo está bien muestra bienvenida porque todo está bien.
          ShowMessage('Bienvenido(a) ' + form_tablas.queryiniciarsession.Fieldbyname('Nombre_Completo').Asstring);
          formPrincipal.LabeNombredelUsuario.Caption := form_tablas.queryiniciarsession.Fieldbyname('Nombre_Completo').Asstring;
          formPrincipal.Label_posicion.Caption := form_tablas.queryiniciarsession.Fieldbyname('Posicion').Asstring;
          txtpassword.Text := '';



          //este es el formulario de administración.
          formPrincipal.Show;

           //este es el formulario del login
          Form1_Form_Login_Principal.Visible:= false;


            end


        end
      else
      begin
      ShowMessage('Usuario y/o Contraseña Incorrecta');
      end
    end;

end;

Cualquier inquietud o duda me dejas saber.
Hola Buenas tardes gracias por responder mira ya lo habia logrado luego de investigar un poco mas y jugar con el codigo me quedo de la siguiente forma

Código Delphi [-]
procedure TfLogin.bAceptarClick(Sender: TObject);
begin
fModulo.qCuentas.close;
fModulo.qCuentas.ParamByName('usuario').Value:= eUsuario.Text;
fModulo.qCuentas.ParamByName('contrasenia').Value:= eContrasenia.Text;
fPrincipal.Caption := fprincipal.Caption + 'Usuario Conectado: ' +eUsuario.Text;
 fModulo.qCuentas.Open;
 if fmodulo.qCuentas.IsEmpty then
 begin
     Application.MessageBox('No se pudo establecer la conexion. Revise usuario o contraseña','Drugstore',MB_ICONERROR+MB_OK) ;
     fLogin.ModalResult :=   mrNone;
     fLogin.eUsuario.SetFocus;
 end;
end;

me gusto mucho tu codigo en especial la parte que comprueba si el usuario esta inactivo muchas gracias mejorare el mio
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Como crear un login con mysql 5 mago090 Lazarus, FreePascal, Kylix, etc. 1 02-04-2013 17:32:12
como crear una ventana de login wadhis Conexión con bases de datos 1 27-08-2008 10:47:26
crear login con adotabla1 Yensis22 Conexión con bases de datos 3 02-04-2008 00:06:22
crear login con adotable Yensis22 Conexión con bases de datos 3 24-02-2008 16:42:49
Como Crear Login Stravinsky Varios 1 15-08-2007 20:54:13


La franja horaria es GMT +2. Ahora son las 16:59:57.


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