ADO 事件实例化:ADO 和 WFC
ADO for Windows 基础类(ADO/WFC)基于 ADO 事件模型构建,并提供了简化的应用程序编程接口。 通常,ADO/WFC 会截获 ADO 事件,将事件参数合并到单个事件类中,然后调用事件处理程序。
在 ADO/WFC 中使用 ADO 事件
定义自己的事件处理程序来处理事件。 例如,如果要在 ConnectionEvent 系列中处理 ConnectComplete 事件,可以使用以下代码:
public void onConnectComplete(Object sender,ConnectionEvent e) { System.out.println("onConnectComplete:" + e); }
定义表示事件处理程序的处理程序对象。 处理程序对象应为数据类型 ConnectEventHandler 的对象,用于类型为 ConnectionEvent的事件,或者为数据类型 RecordsetEventHandler 的对象,用于类型为 RecordsetEvent的事件。 例如,为 ConnectComplete 事件处理程序编写以下内容:
ConnectionEventHandler handler = new ConnectionEventHandler(this, "onConnectComplete");
ConnectionEventHandler 构造函数的第一个参数是对包含在第二个参数中所命名的事件处理程序的类的引用。
将事件处理程序添加到指定用于处理特定类型的事件的处理程序列表。 将方法与 addOnEventName(处理程序)等名称配合使用。
ADO/WFC 在内部实现所有 ADO 事件处理程序。 因此,ADO/WFC 事件处理程序会截获由 Connection 或 Recordset 操作引起的事件。
ADO/WFC 事件处理程序在 ADO/WFC ConnectionEvent 类的实例中传递 ADO ConnectionEvent 参数,或者在 ADO/WFC RecordsetEvent 类的实例中传递 ADO RecordsetEvent 参数。 这些 ADO/WFC 类合并 ADO 事件参数;也就是说,每个 ADO/WFC 类包含所有 ADO ConnectionEvent 或 RecordsetEvent 方法中的每个唯一参数的数据成员。
然后,ADO/WFC 通过 ADO/WFC 事件对象调用您的事件处理程序。 例如,onConnectComplete 处理程序具有如下所示的签名:
public void onConnectComplete(Object sender,ConnectionEvent e)
第一个参数是发送事件的对象类型(Connection 或 Recordset),第二个参数是 ADO/WFC 事件对象(ConnectionEvent 或 RecordsetEvent)。
事件处理程序的签名比 ADO 事件更简单。 但是,仍必须了解 ADO 事件模型,以了解应用于事件的参数以及如何响应。
请从您的事件处理程序返回至处理 ADO 事件的 ADO/WFC 处理程序。 ADO/WFC 将相关的 ADO/WFC 事件数据成员复制回 ADO 事件参数,然后 ADO 事件处理程序返回。
完成处理后,从 ADO/WFC 事件处理程序列表中删除你的事件处理程序。 使用名为 removeOn EventName(处理程序)等名称的方法。