ADO-Ereignisinstanziierung: ADO und WFC

ActiveX Data Objects (ADO) für Windows Foundation Classes (ADO/WFC) basiert auf dem ADO-Ereignismodell und stellt eine vereinfachte Anwendungsprogrammierschnittstelle (Application Programming Interface, API) dar. Im Allgemeinen fängt ADO/WFC ADO-Ereignisse ab, konsolidiert die Ereignisparameter in einer einzelnen Ereignisklasse und ruft dann Ihren Ereignishandler auf.

Verwenden von ADO-Ereignissen in ADO/WFC

  1. Definieren Sie Ihren eigenen Ereignishandler, um ein Ereignis zu verarbeiten. Wenn Sie beispielsweise das ConnectComplete-Ereignis in der ConnectionEvent-Familie verarbeiten möchten, können Sie diesen Code verwenden:

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    {  
        System.out.println("onConnectComplete:" + e);  
    }  
    
  2. Definieren Sie ein Handlerobjekt, das Ihren Ereignishandler darstellt. Das Handlerobjekt sollte für ein Ereignis vom Typ ConnectionEvent den Datentyp ConnectEventHandler aufweisen oder für ein Ereignis vom Typ RecordsetEvent den Datentyp RecordsetEventHandler. Verwenden Sie für Ihren ConnectComplete-Ereignishandler beispielsweise den folgenden Code:

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

    Das erste Argument des ConnectionEventHandler-Konstruktors ist ein Verweis auf die Klasse, die den im zweiten Argument benannten Ereignishandler enthält.

  3. Fügen Sie Ihren Ereignishandler einer Liste von Handlern hinzu, die zum Verarbeiten eines bestimmten Ereignistyps vorgesehen sind. Verwenden Sie die Methode mit einem Namen wie addOnEventName(handler).

  4. Alle ADO-Ereignishandler werden von ADO/WFC intern implementiert. Daher wird ein Ereignis, das durch einen Connection- oder Recordset-Vorgang ausgelöst wird, von einem ADO/WFC-Ereignishandler abgefangen.

    Der ADO/WFC-Ereignishandler übergibt ADO-ConnectionEvent-Parameter in einer Instanz der ConnectionEvent-Klasse von ADO/WFC oder ADO-RecordsetEvent-Parameter in einer Instanz der RecordsetEvent-Klasse von ADO/WFC. Diese ADO/WFC-Klassen konsolidieren die ADO-Ereignisparameter. Dies bedeutet, dass jede ADO/WFC-Klasse ein Datenelement für jeden eindeutigen Parameter in allen ADO-ConnectionEvent- oder ADO-RecordsetEvent-Methoden enthält.

  5. ADO/WFC ruft dann Ihren Ereignishandler mit dem ADO/WFC-Ereignisobjekt auf. Angenommen, Ihr onConnectComplete-Handler hat eine Signatur wie die folgende:

    public void onConnectComplete(Object sender,ConnectionEvent e)  
    

    Das erste Argument ist der Typ des Objekts, das das Ereignis gesendet hat (Connection oder Recordset), und das zweite Argument ist das ADO/WFC-Ereignisobjekt (ConnectionEvent oder RecordsetEvent).

    Die Signatur des Ereignishandlers ist einfacher als ein ADO-Ereignis. Das Verständnis des ADO-Ereignismodells ist dennoch erforderlich, damit Sie wissen, welche Parameter für ein Ereignis gelten und welche Reaktion erforderlich ist.

  6. Wechseln Sie von Ihrem Ereignishandler zurück zum ADO/WFC-Handler für das ADO-Ereignis. ADO/WFC kopiert relevante ADO/WFC-Ereignisdatenelemente zurück in die ADO-Ereignisparameter, und anschließend erfolgt die Rückgabe des ADO-Ereignishandlers.

  7. Wenn Sie die Verarbeitung abgeschlossen haben, entfernen Sie Ihren Handler aus der Liste der ADO/WFC-Ereignishandler. Verwenden Sie die Methode mit einem Namen wie removeOnEventName(handler).

Weitere Informationen

ADO-Ereignishandler – Übersicht
ADO/WFC-Syntaxindex
Ereignisparameter
Zusammenwirken der Ereignishandler
Ereignistypen