共用方式為


ADO 事件具現化:ADO 和 WFC

ADO for Windows Foundation Classes (ADO/WFC) 建置在 ADO 事件模型上,並呈現簡化的應用程式程式設計介面。 一般而言,ADO/WFC 會攔截 ADO 事件、將事件參數合併成單一事件類別,然後呼叫事件處理程式。

在 ADO/WFC 中使用 ADO 事件

  1. 定義您自己的事件處理程式來處理事件。 例如,如果您想要在 ConnectionEvent 系列中處理 ConnectComplete 事件,您可以使用下列程式代碼:

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    {  
        System.out.println("onConnectComplete:" + e);  
    }  
    
  2. 定義代表事件處理器的處理程序物件。 處理程式物件應為數據類型 ConnectEventHandler,適用於事件類型 ConnectionEvent,或數據類型 RecordsetEventHandler,適用於事件類型 RecordsetEvent。 例如,為您的 ConnectComplete 事件處理程式撰寫下列程式代碼:

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

    ConnectionEventHandler 建構函式的第一個引數是一個包含第二個引數中所命名事件處理程式的類別的參考。

  3. 將事件處理程式新增至指定的處理程式清單,以處理特定類型的事件。 使用名稱如 addOnEventName的方法(處理程式)。

  4. ADO/WFC 會在內部實作所有 ADO 事件處理程式。 因此,ADO/WFC 事件處理程式會攔截 ConnectionRecordset 作業所造成的事件。

    ADO/WFC 事件處理程式會在 ADO/WFC ConnectionEvent 類別的實例中傳遞 ADO ConnectionEvent 參數,或在 ADO/WFC RecordsetEvent 類別的實例中傳遞 ADO RecordsetEvent 參數。 這些 ADO/WFC 類別會合併 ADO 事件參數;也就是說,每個 ADO/WFC 類別都會針對所有 ADO ConnectionEventRecordsetEvent 方法中的每個唯一參數,各包含一個數據成員。

  5. ADO/WFC 接著會使用 ADO/WFC 事件物件呼叫您的事件處理程式。 例如,您的 onConnectComplete 處理程式具有如下所示的簽章:

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    

    第一個自變數是傳送事件的物件類型(ConnectionRecordset),第二個自變數是 ADO/WFC 事件物件 (ConnectionEventRecordsetEvent)。

    事件處理程序的簽章比 ADO 事件簡單。 不過,您仍必須瞭解 ADO 事件模型,以瞭解哪些參數會套用至事件,以及如何回應。

  6. 從您的事件處理程式返回到負責 ADO 事件的 ADO/WFC 處理程式。 ADO/WFC 會將相關的 ADO/WFC 事件數據成員複製到 ADO 事件參數,然後 ADO 事件處理程式傳回。

  7. 當您完成處理時,請從 ADO/WFC 事件處理程式清單中移除處理程式。 使用 方法搭配名稱,例如 removeOnEventName處理程式)。

另請參閱

ADO 事件處理程式摘要
ADO - WFC 語法索引
事件參數
事件處理程式如何搭配運作
類型 事件