使用 RemoteData 控件

RemoteData 控件在大多数的方面类似于 Visual Basic Data 控件。二者都用于将数据识别的被绑定控件连接到数据源。它们的主要区别是: RemoteData 控件使用 RDO 连接到 ODBC 驱动程序管理器,而 Data 控件则使用 DAO 连接到 Jet 数据库引擎,后者可以连接到 Jet 数据库,也可以连接到 IISAM 数据源。Data 控件也可以通过 ODBCDirect 接口间接与 RDO 连接。尽管这两种控件都使用相同的 ODBC 驱动程序管理器和数据源项,但是,RDO、ODBCDirect 和 DAO 不能共享数据源连接、数据对象以及其它一些资源。

注意   Data 控件支持通过 ODBCDirect 选项使用 RDO DLL。在这种情况下,代码要使用 DAO,而不是 RDO,来管理 Data 控件及其结果集。

如果没有 RemoteData 控件,也没有 Data 控件或其它等价的控件,数据识别(被绑定的)的控件将不能自动访问数据。可以使用 RemoteData 控件执行许多简单的远程数据访问操作,不需编写任何代码。然而,绝大多数的应用程序都依靠额外的 RDO 代码来执行大部分的数据访问操作,因为 RDO 提供了更大的灵活性和其它选项,这是 RemoteData 控件不能单独提供的。在很多方面,RemoteData 控件非常类似于 Data 控件。

被绑定到 RemoteData 控件的数据识别控件会自动显示当前行的一列或多列,有时也会显示与当前行相邻的若干行。RemoteData 控件对当前行执行所有操作。

如果命令 RemoteData 控件移动到另一个数据行,那么所有被绑定的控件都会将修改传递到 RemoteData 控件,以便保存到 ODBC 数据源中。然后 RemoteData 控件移动到指定行,将数据从当前行传到被绑定控件,并在其中显示。

使用 RemoteData 控件处理错误

RemoteData 控件能够自动处理各种可能发生的情况,包括空结果集、添加新的数据行、编辑并更新已有的数据行等等,以及某些类型的错误处理。但是,在一些较为复杂的应用程序中,可能会遇到 RemoteData 控件所不能处理的一些错误情况。例如,如果远程服务器在访问数据源时出现了问题,没有权限,或者不能按照代码执行查询,那么将导致一个可以捕获的错误。如果错误发生在应用程序开始之前,或者由于某些内部错误,将会触发 RemoteData 控件的 Error 事件。

RemoteData 控件使用并创建本章讨论的 RDO 对象。在适当设置 RemoteData 控件属性之后,RemoteData 控件可以创建一个 rdoResultset,与其它 rdoResultset 一样,可以在代码中控制它。也可以在代码中创建一个 rdoResultset,并将 RemoteData 控件的 Resultset 属性指向该对象。

注意   为了使用 RemoteData 控件,必须将其添加到 Visual Basic 工具箱中。要将 RemoteData 控件添加到工具箱,请单击“工程”菜单,然后单击“部件”;在“部件”对话框中,单击“控件”标签,并选择“Microsoft RemoteData 控件 2.0”复选框。

只有 32 位的操作系统(Windows 95 或 Windows NT)才能支持 RDO。要使用远程数据对象,必须在Visual Basic “引用”对话框中设置对 Microsoft Remote Data Object 2.0 对象库的引用。