ADO イベントのインスタンス化: ADO と WFC
ADO for Windows Foundation Classes (ADO/WFC) は、ADO イベント モデルに基づいて構築され、簡略化されたアプリケーション プログラミング インターフェイスを提供します。 一般に、ADO/WFC は ADO イベントをインターセプトし、イベント パラメーターを 1 つのイベント クラスに統合してから、イベント ハンドラーを呼び出します。
ADO/WFC で ADO イベントを使用するには
イベントを処理する独自のイベント ハンドラーを定義します。 たとえば、ConnectionEvent ファミリで ConnectComplete イベントを処理する場合は、次のコードを使用できます。
public void onConnectComplete(Object sender,ConnectionEvent e) { System.out.println("onConnectComplete:" + e); }
イベント ハンドラーを表すハンドラー オブジェクトを定義します。 ハンドラー オブジェクトは、ConnectEventHandler ConnectionEvent型のイベントのデータ型、または RecordsetEvent 型のイベント RecordsetEventHandlerデータ型である必要があります。 たとえば、ConnectComplete イベント ハンドラーのコードを次に示します。
ConnectionEventHandler handler = new ConnectionEventHandler(this, "onConnectComplete");
ConnectionEventHandler コンストラクターの最初の引数は、2 番目の引数で指定されたイベント ハンドラーを含むクラスへの参照です。
特定の種類のイベントを処理するために指定されたハンドラーの一覧にイベント ハンドラーを追加します。 addOnEventName(ハンドラー) などの名前でメソッドを使用します。
ADO/WFC は、すべての ADO イベント ハンドラーを内部的に実装します。 そのため、接続 または Recordset 操作 によって発生するイベントは、ADO/WFC イベント ハンドラーによってインターセプトされます。
ADO/WFC イベント ハンドラーは、ADO/WFC ConnectionEvent クラスのインスタンス内の ADO ConnectionEvent パラメーター、または ADO/WFC RecordsetEvent クラスのインスタンス内の ADO RecordsetEvent パラメーターを渡します。 これらの ADO/WFC クラスは、ADO イベント パラメーターを統合します。つまり、各 ADO/WFC クラスには、すべての ADO ConnectionEvent または RecordsetEvent メソッド内の一意のパラメーターごとに 1 つのデータ メンバーが含まれます。
その後、ADO/WFC は、ADO/WFC イベント オブジェクトを使用してイベント ハンドラーを呼び出します。 たとえば、onConnectComplete ハンドラーには、次のようなシグネチャがあります。
public void onConnectComplete(Object sender,ConnectionEvent e)
最初の引数は、イベントを送信したオブジェクトの型です (Connection または Recordset)、2 番目の引数は ADO/WFC イベント オブジェクト (connectionEventまたは RecordsetEvent)。
イベント ハンドラーのシグネチャは、ADO イベントよりも簡単です。 ただし、イベントに適用されるパラメーターと応答方法を把握するには、ADO イベント モデルを理解する必要があります。
イベント ハンドラーから ADO イベントの ADO/WFC ハンドラーに戻ります。 ADO/WFC は、関連する ADO/WFC イベント データ メンバーを ADO イベント パラメーターにコピーし、ADO イベント ハンドラーが返します。
処理が完了したら、ADO/WFC イベント ハンドラーの一覧からハンドラーを削除します。 removeOnEventName(ハンドラー) などの名前でメソッドを使用します。
関連項目
ADO イベント ハンドラーの概要
ADO - WFC 構文インデックス
イベント パラメーターの
イベント ハンドラーがどのように連携するか
イベントの種類