FireDAC.Comp.Client.TFDCustomConnection.OnLogin
Delphi
property OnLogin: TFDConnectionLoginEvent read FOnLogin write FOnLogin;
C++
__property TFDConnectionLoginEvent OnLogin = {read=FOnLogin, write=FOnLogin};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
説明
アプリケーションが DBMS に接続した際に発生します。
OnLogin イベント ハンドラを記述すると、アプリケーションが DBMS への接続を試行した際に、特定のアクションを実行させることができます。
LoginPrompt プロパティが True の場合、データベース ログインが必要となります。OnLogin イベントまたはログイン ダイアログは、LoginPrompt プロパティが True であるときのみ発生します。ログイン ダイアログは、OnLogin イベント ハンドラが割り当てられていない場合にのみ表示されます。
OnLogin イベント ハンドラがない場合、現在の User_Name
、Password
、その他パラメータが、Params プロパティまたは接続定義より読み込まれ、標準のログイン ダイアログ ボックスが開きます。ダイアログは、ユーザー名、パスワード、その他の任意パラメータを要求し、ユーザーによって入力された値を使用して、User_Name
、Password
、その他の任意の値を、Params プロパティに設定します。これらの値は、その後、DBMS に渡されます。
OnLogin のイベント ハンドラは、次のパラメータを受け取ります:
OnLogin イベント ハンドラを備えたアプリケーションは、接続パラメータ(AParams
.UserName、AParams
.Password)を設定または変更することができます。AParams
は一時オブジェクトで、必要なくなると自動的に解放されます。
OnLogin イベント ハンドラまたは標準ログイン ダイアログを使用して渡されるパスワードは、ログイン後、メモリから消去されます。BeforeConnect で提供されるパスワードは消去されません。
例
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;