Cita:
Empezado por jeremiselxi
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 [-]
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
if form_tablas.queryiniciarsession.Fieldbyname('CambioProximaSession').Asstring = 'Si' then
begin
showmessage('Debes cambiar tu contraseña');
form_cambiar_contrasena.show
end
else
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
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 := '';
formPrincipal.Show;
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