Ver Mensaje Individual
  #20  
Antiguo 14-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.

Uff! hiciste todo un cóctel ahí , en principio revisa si faltan o tienen otro nombre los siguientes componentes: TDataModule, TIBDataBase y TIBTransaction.

Luego el esqueleto de tu DataModule debería ser aproximadamente así:
Código Delphi [-]
unit Unit2;

interface

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

type
  TDataModule2 = class(TDataModule)
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    ...

  private
    { Private declarations }

  public
    function LoginAccepted(const nam, pwd: string): Boolean; // <- Declaración del método
  end;

var
  DataModule2: TDataModule2;

implementation {$R *.dfm}

// Implementación del método
function TDataModule2.LoginAccepted(const nam, pwd: string): Boolean;
var
  qy: TIBQuery;
begin
  qy := TIBQuery.Create(nil);
  try
    qy.Database := IBDataBase1;
    qy.Transaction := IBTransaction1;
    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;
  finally
    qy.Free;
  end;
end;

end.
Si cotejas con tu código, enseguida notarás que pusiste la implementación del método donde debería ir la declaración.

Saludos
__________________
Daniel Didriksen

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