FireDAC.Comp.Client.TFDCustomConnection.OnLogin
Delphi
property OnLogin: TFDConnectionLoginEvent read FOnLogin write FOnLogin;
C++
__property TFDConnectionLoginEvent OnLogin = {read=FOnLogin, write=FOnLogin};
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
event | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
Beschreibung
Wird ausgelöst, wenn eine Anwendung eine Verbindung zu einem DBMS herstellt.
Mit einer OnLogin-Ereignisbehandlungsroutine können Sie spezielle Aktionen ausführen, wenn eine Anwendung versucht, eine Verbindung mit einem DBMS herzustellen.
Ist die Eigenschaft LoginPrompt True, ist eine Anmeldung bei der Datenbank erforderlich. Das Ereignis OnLogin oder ein Anmeldedialogfeld kommt nur vor, wenn die Eigenschaft LoginPrompt True ist. Das Anmeldedialogfeld wird nur angezeigt, wenn die Ereignisbehandlungsroutine OnLogin nicht zugewiesen ist.
Wenn keine OnLogin-Ereignisbehandlungsroutine vorhanden ist, werden User_Name
, Password
und andere Parameter aus der Eigenschaft Params oder der Verbindungdefinition gelesen, und es wird ein Standarddialogfeld für die Anmeldung geöffnet. In dem Dialogfeld müssen ein Benutzername, Passwort und andere optionale Parameter eingegeben werden. Mit den vom Benutzer eingegebenen Werten werden User_Name
, Password
und andere optionale Werte in der Eigenschaft Params festgelegt. Anschließend werden diese Werte an das DBMS übergeben.
Die Ereignisbehandlungsroutine für OnLogin erhält die folgenden Parameter:
AConnection
ist die Verbindung, die Anmeldeinformationen benötigt.AParams
sind die Verbindungsparameter.
Anwendungen, die OnLogin-Ereignisbehandlungsroutinen bereitstellen, können Verbindungsparameter füllen oder verändern, wie z. B. AParams
.UserName oder AParams
.Password. AParams
ist ein temporäres Objekt, und wird automatisch freigegeben, wenn es nicht mehr benötigt wird.
Ein mit einer OnLogin-Ereignisbehandlungsroutine oder über ein Standarddialogfeld für die Anmeldung bereitgestelltes Passwort wird nach der Anmeldung aus dem Speicher gelöscht. Ein in BeforeConnect bereitgestelltes Passwort wird nicht gelöscht.
Beispiel
procedure TForm1.FDConnection1Login(AConnection: TFDCustomConnection; AParams: TFDConnectionDefParams);
begin
AParams.UserName := 'dba';
AParams.Password := InputBox('Login', 'Please enter DBA password', 'sql');
end;
procedure TForm1.Button1Click(ASender: TObject);
begin
FDConnection1.OnLogin := FDConnection1Login;
FDConnection1.LoginPrompt := True;
FDConnection1.Connected := True;
end;