Ver Mensaje Individual
  #16  
Antiguo 13-08-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Claro, de allí el error.

Básicamente deberías tener algo similar a lo siguiente,

TDataModule:
Código Delphi [-]
unit unit_name; // nombre con que guardaste la unidad 

interface

uses
  SysUtils, Classes, DB, IBCustomDataSet, IBDatabase, IBQuery;

type
  TDataModule1 = class(TDataModule)
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBQPassword: TIBQuery;
    //...
  private
    //...
  public
    function LoginAccepted(qy: TIBQuery; const nam, pwd: string): Boolean;
  end;

var
  DataModule1: TDataModule1;

implementation  {$R *.dfm}
...

function TDataModule1.LoginAccepted(qy: TIBQuery; const nam, pwd: string): Boolean;
begin
  qy.Close;
  qy.SQL.Clear;
  qy.SQL.Add('SELECT * FROM USUARIO');
  qy.SQL.Add('WHERE NOMBRE = :NOMBRE');
  qy.ParamByName('NOMBRE').AsString := nam;
  qy.Open;
  Result := not qy.IsEmpty and (qy.FieldByName('CLAVE').AsString = pwd);
  qy.Close;
end;
...
end.

Formulario login:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TLogin = class()
    ...
    EditUsuario: TEdit;
    EditPassword: TEdit;
    btnAceptar: TButton;
    procedure btnAceptarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Login: TLogin;

implementation {$R *.dfm}

uses unit_name; // nombre con que guardaste el DataModule

...
procedure TLogin.btnAceptarClick(Sender: TObject);
begin
  if not DataModule1.LoginAccepted(DataModule1.IBQPassword, EditUsuario.Text, EditPassword.Text) then
    raise Exception.Create('El usuario o la contraseña son inválidos.');
end;
...
end.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-08-2017 a las 23:27:57.
Responder Con Cita