创建数据源

数据源是一个将其它对象从外部源绑定到数据的对象。数据源对象的基础是一个数据识别的类模块,该类模块实质上是一个向外部数据源显露接口的类模块。 数据识别类在《程序员指南》“使用对象编程”中进行了深入的讨论。

数据识别类也可以作为 ActiveX 部件的基来使用。数据识别部件的一个普通示例是 ADO Data 控件,它为通过 ADO 将控件绑定到一个数据库提供了一个可视界面。虽然您可以创建一个和 ADO Data 控件作用相同的数据识别类,但在多个应用程序或多个程序员之间共享该类是很困难的。

一个比较好的途径是创建一个 ActiveX 部件,该部件重复或扩展了 ADO Data 控件的功能。同任何的 ActiveX 部件一样,该部件可以为下面几种形式的任何一种:一个 ActiveX 控件、一个 ActiveX DLL 或一个 ActiveX EXE。在任一情况下,您的 ActiveX 数据源都可以很容易地被共享,简化了对数据的访问,而不管数据驻留在什么地方:数据可以驻留在象 Access 那样的一个本地数据库中,也可以驻留在象 SQL Server 那样的远程数据库中,甚至可以驻留在一个私有 OLE DB 数据仓库中。

本章通过循序渐进的系列主题演示了创建数据源部件的两种不同途径。首先,我们将建立一个 ActiveX 数据源控件,MyDataControl,它仿真 ADO Data 控件。然后,我们使用简单的和复杂的两种绑定方法将 MyDataControl 绑定到其它的控件。最后,我们将创建一个 ActiveX DLL,MyData,它在 OLE DB simple provider 中演示了到一个私有数据仓库的绑定。

创建数据源部件的过程相互依赖,因此您执行过程的顺序是很重要的。在进行该示例之前,您应当已经熟悉创建 ActiveX 部件的基本知识。

主题

创建 MyDataControl 工程

对复制 ADO Data 控件的一个 ActiveX 数据源控件建立一个新的工程。

绘制 MyData 控件

创建 MyData 数据源控件的用户界面。

添加 AXDataSource 工程

创建 MyData 数据源控件的一个测试工程和一个工程组。

添加数据处理代码

举例说明了 MyData 数据源控件要求的数据处理过程。

运行 MyDataControl 工程

使用 ODBC 和 OLE DB 两种接口演示了 MyData 数据源控件的功能性。

创建 MyData 部件工程

为 ActiveX DLL 数据源部件建立一个工程

创建 MyOSPObject 类

创建一个实现 OLE DB Simple Provider 接口的类。

创建 MyDataSource 类

创建一个使用 MyOSPObject 类提供数据的类。

测试 MyData 部件

演示了 MyDataComponent ActiveX DLL 的使用。

数据源回顾

总结了创建 ActiveX 数据源部件涉及到的概念。


如果您将 Visual Basic 开发环境设置为能显示必要的窗口,就可以很容易地按照这些过程执行。

在您开始之前,请按照以下步骤执行:

  1. 在“视图”菜单中,单击“工具箱”打开工具箱。

  2. 在“视图”菜单中,单击“工程资源管理器”打开“工程资源管理器”窗口。“工程资源管理器”窗口将被频繁地用于工程文件之间的切换。

  3. 如果“工程资源管理器”窗口在“文件夹”视图中,单击“工程资源管理器”窗口工具栏中的“切换文件夹”按钮关闭文件夹。

  4. 在“视图”菜单中,单击“属性窗口”打开“属性”窗口。

  5. 在“视图”菜单中,单击“立即窗口”打开“立即”窗口。为在设计时演示控件代码的运行,您需要在设计时打开这个窗口。

  6. 在“工具”菜单中,单击“选项...”打开“选项...”对话框。

    选择“编辑器”选项卡,确保“要求变量声明”框被选择。这将使捕捉输入错误更加容易。

    选择“环境”选项卡,确保“提示保存改变”被选中,然后单击“确定”。这将使您很容易在过程进行中保存对工程所做的更改。

详细信息 请参阅《程序员指南》“使用对象编程”中的“创建数据识别类”。

示例应用程序

Axdata.vbg

提供了本章中讨论的数据源工程的预先创建的一个示例。另外,该示例需要的位图和文本文件与 Axdata.vbg 示例在同一目录中,都列在 Samples目录中。