Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   como crear una ventana de login (https://www.clubdelphi.com/foros/showthread.php?t=59433)

wadhis 27-08-2008 03:41:08

como crear una ventana de login
 
necesito crear una ventana de login conectada con una base de dato de acceses, mediante un adoquery y datasourse y un adoconecction, estoy utilizando el siguiente codigo para la consulta pero no me hace la busqueda

procedure TPassword.BitBtn2Click(Sender: TObject);
begin
edit1.SetFocus;
// saber si existen Datos.
if (edit2.text<>'') and (edit1.text<>'') then begin
// comprovar si existen en la BD.
if (Edit1.text=adoquery1.FieldByName('nick').AsString) and
(edit2.text=adoquery1.FieldByName('contraseña').AsString) then begin
password.Free;
sistemaprincipal.ShowModal;
end else begin
messageBox(handle,'Clave Incorrecta','!!!ERROR........!!!!',MB_ICONERROR+mb_OK);
edit1.Clear;
edit2.Clear;
edit1.SetFocus;
end;
end else
messageBox(handle,'Usuário Incorrecto ','ERROR......!!!!',MB_ICONERROR+mb_OK);
end;

por fabor ayundeme.....

duilioisola 27-08-2008 09:47:26

Por favor, pon el código entre
[ delphi ]
...
[ /delphi ]

Código Delphi [-]
procedure TPassword.BitBtn2Click(Sender: TObject);
begin
  edit1.SetFocus;
  // saber si existen Datos.
  if (edit2.text<>'') and (edit1.text<>'') then begin
  // comprovar si existen en la BD.
  if (Edit1.text=adoquery1.FieldByName('nick').AsString) and
    (edit2.text=adoquery1.FieldByName('contraseña').AsString) then begin
    password.Free;
    sistemaprincipal.ShowModal;
  end else begin
    messageBox(handle,'Clave Incorrecta','!!!ERROR........!!!!',MB_ICONERROR+mb_OK);
    edit1.Clear;
    edit2.Clear;
    edit1.SetFocus;
  end;
  end else
    messageBox(handle,'Usuário Incorrecto ','ERROR......!!!!',MB_ICONERROR+mb_OK);
end;

supongo que te falta ir avanzando por la tabla mientras comparas los campos de edit1 y edit2 contra los campos nick y contraseña

Código Delphi [-]
procedure TPassword.BitBtn2Click(Sender: TObject);
var
  LoEncontreYCoincideContrasena : boolean;
begin
  Edit1.SetFocus;
  // saber si existen Datos.
  if (Edit2.text<>'') and (Edit1.text<>'') then 
  begin
    // comproBar si existen en la BD.

    AdoQuery1.First; //Suponiendo que ya está abierta la tabla
    LoEncontreYCoincideContrasena := False;
    while (not AdoQuery1.EOF) do
    begin
      if (Edit1.text=AdoQuery1.FieldByName('nick').AsString) and
        (Edit2.text=AdoQuery1.FieldByName('contraseña').AsString) then 
        LoEncontreYCoincideContrasena := True; 
        AdoQuery1.Next;
    end;
    if (LoEncontreYCoincideContrasena) then
    begin
      Password.Free;
      SistemaPrincipal.ShowModal;
    end else 
    begin
      MessageBox(handle,'Clave Incorrecta','!!!ERROR........!!!!',MB_ICONERROR+mb_OK);
      Edit1.Clear;
      Edit2.Clear;
      Edit1.SetFocus;
    end;
    end else
      MessageBox(handle,'Usuário Incorrecto ','ERROR......!!!!',MB_ICONERROR+mb_OK);
end;


La franja horaria es GMT +2. Ahora son las 01:40:59.

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