次の方法で共有


ADO イベントのインスタンス化: ADO と WFC

ADO for Windows Foundation Classes (ADO/WFC) は、ADO イベント モデルに基づいて構築され、簡略化されたアプリケーション プログラミング インターフェイスを提供します。 一般に、ADO/WFC は ADO イベントをインターセプトし、複数のイベント パラメーターを 1 つのイベント クラスにまとめてから、イベント ハンドラーを呼び出します。

ADO/WFC で ADO イベントを使用するには

  1. イベントを処理する独自のイベント ハンドラーを定義します。 たとえば、ConnectionEvent ファミリの ConnectComplete イベントを処理する場合は、次のコードを使用できます。

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    {  
        System.out.println("onConnectComplete:" + e);  
    }  
    
  2. イベント ハンドラーを表すハンドラー オブジェクトを定義します。 ハンドラー オブジェクトは、種類が ConnectionEvent のイベントのデータ型 ConnectEventHandler にするか、種類が RecordsetEvent のイベントのデータ型 RecordsetEventHandler にする必要があります。 たとえば、ConnectComplete イベント ハンドラー用に次のコードを記述します。

    ConnectionEventHandler handler =   
        new ConnectionEventHandler(this, "onConnectComplete");  
    

    ConnectionEventHandler コンストラクターの最初の引数は、2 番目の引数で指定されたイベント ハンドラーを含むクラスへの参照です。

  3. 特定の種類のイベントを処理するために指定されたハンドラーの一覧にイベント ハンドラーを追加します。 addOnEventName(handler) などの名前を持つメソッドを使用します。

  4. ADO/WFC は、すべての ADO イベント ハンドラーを内部的に実装します。 したがって、Connection または Recordset 操作によって発生したイベントは、ADO/WFC イベント ハンドラーによってインターセプトされます。

    ADO/WFC イベント ハンドラーは、ADO/WFC ConnectionEvent クラスのインスタンス内の ADO ConnectionEvent パラメーター、または ADO/WFC RecordsetEvent クラスのインスタンス内の ADO RecordsetEvent パラメーターを渡します。 これらの ADO/WFC クラスは、ADO イベント パラメーターを集約します。つまり、各 ADO/WFC クラスには、すべての ADO ConnectionEvent または RecordsetEvent メソッドの一意のパラメーターごとに 1 つのデータ メンバーが含まれます。

  5. 次に、ADO/WFC は ADO/WFC イベント オブジェクトを使用してイベント ハンドラーを呼び出します。 たとえば、onConnectComplete ハンドラーには次のようなシグネチャがあります。

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    

    最初の引数はイベントを送信したオブジェクトの種類 (Connection または Recordset) であり、2 番目の引数は ADO/WFC イベント オブジェクト (ConnectionEvent または RecordsetEvent) です。

    イベント ハンドラーのシグネチャは、ADO イベントよりも単純です。 それでも、イベントに適用されるパラメーターと応答方法を把握するために、ADO イベント モデルを理解しておく必要があります。

  6. イベント ハンドラーから ADO イベントの ADO/WFC ハンドラーに戻ります。 ADO/WFC により、関連する ADO/WFC イベント データ メンバーがコピーされて ADO イベント パラメーターに戻され、その後、ADO イベント ハンドラーが戻ります。

  7. 処理が完了したら、ADO/WFC イベント ハンドラーの一覧からハンドラーを削除します。 removeOnEventName(handler) などの名前を持つメソッドを使用します。

参照

ADO イベント ハンドラーの概要
ADO - WFC 構文のインデックス
イベント パラメーター
複数のイベント ハンドラーの連携方法
イベントの種類