• 当前位置:首页>>VC语言>>VC基础教程>>使用OLE-DB或ADO建立数据库应用程序
  • 使用OLE-DB或ADO建立数据库应用程序
  •     OLE-DB(对象链接与嵌入数据库)和ADO(ActiveX数据对象)是对Microsoft数据库访问技术的最新补充。这两种技术为访问所有类型的数据库提供了统一的接口,不论它出现在驱动器上的什么地方。另外,它们提供了Microsoft数据访问技术的最大灵活性。
        阅读本章时要记住的一点是,OLE-DB是一种基本的数据访问技术,而ADO是在OLE-DB上添加了一层便于使用的包装。另外,OLE-DB这种产品与ODBC是完全脱离的。正如我们在第6章中所做的那样,用DAO创建应用程序和用ODBC创建应用程序有很多类似之处,用OLE-DB创建应用程序则要求完全不同的技术。事实上,可以把DAO看作是ODBC的高级(功能更强大)形式,只不过灵活性稍差一些(可访问的数据库引擎要少一些)。另一方面,本章会说明,OLE-DB代表了一种全新的数据库访问方式。
        在开始本章之前,假定你已经花时间阅读了第4章,了解了OLE-DB和ODBC之间的差别。你还要知道ADO是干什么的。如果你还没有阅读第4章,最好请补读。你还要创建我在第5章中已经说明如何创建的示例数据库,我们要在本章中用到该数据库。
        Web链接 在研究Visual C++和各种支持DAO,ADO以及OLE-DB的数据库访问技术时,你一定想知道到哪里可以得到其他人的帮助。例如,microsoft.public.vc.database新闻组中有很多关于这些技术的讨论。你还会在microsoft.public.officedev,microsoft.public.vc.mfc和microsoft.public.vc.mfcdatabase新闻组中发现一些与数据库技术相关的讨论。还有一些和非Microsoft的数据库技术相关的新闻组:comp.os.ms-windows.programmer.win32,comp.os.ms-windows.programmer.tools.mfc和comp.databases.ms-access。有趣的是,尽管在Internet上关于ADO,DAO和OLE-DB的讨论好像占据了很多的新闻组讨论,但是很少有专门谈论这些技术的新闻组,特别是关于ODBC的新闻组就更少了。显然,这就是说,为了在更为一般的新闻组(像我刚刚提到的新闻组)中寻找特定的信息,你还要花费一些额外的时间。
        我们准备在本章中花很多的时间来讨论OLE-DB和ADO。事实上,本章开始的方式和第6章很相似——建立一个简单的应用程序。但是,在这里我们会创建一个网格视图,而不是前一章中所用的窗体视图。知道如何创建多种形式的简单应用程序相当重要。否则的话,也许你就不能给客户提供正常管理其数据时所需的全部视图。
        注释 因为ADO和OLE-DB在很大程度上代替了DAO,所以本章不研究DAO,不过,你还是可以从Osborne Web站点下载本章前两个示例的DAO版本。只要寻找Web站点上的DAO1和DAO2示例就可以了。我已经检查了代码,确保它可以在Visual C++ 6.0版上运行。你只要看一看代码本身,就会知道如何实现网格数据库实用程序的DAO版了。代码中的注释将有助于你对MFC AppWizard生成的应用程序进行必要的修改。为了使这些示例程序能够运行,必须在机器上安装DAO。这些示例使用了DAO 3.5版。有几种方式可以用来检查DAO版本。首先,查看Program Files\Common Files\Microsoft Shared\DAO文件夹。如果看到了DAO350.DLL文件,就表明已经安装了3.5版DAO。还可以查看Control Panel(控制面板)中的Add/Remove Programs(添加/删除程序)小程序。如果安装了DAO 3.5版,那么Install/Uninstall(安装/卸载)页应该有一个Data Access Objects(DAO) 3.5列表项。
        和上一章一样,我们要建立示例应用程序并增强其功能。在这里,我们要向示例应用程序添加报告能力。我准备说明一些OLE-DB专用的方式。你会发现,上一章必须使用的大量代码,比如用来搜索数据库的代码,至少有一部分现在被OLE-DB或ADO类支持的简单函数调用所代替了。
        技巧 与ODBC不同,使用OLE-DB或ADO时不需要使用DSN。但是,这两种技术都必须知道本地驱动器或网络上数据的特定位置。你可以用UNC(统一命名协议)路径来减少用户找不到数据库的机会,但这种机会依然是存在的。一定要在每台机器上检查你的进行数据访问的OLE-DB或ADO应用程序。不要简单地因为你可以用Explorer看到相关的数据库,就假定用户可以访问这些数据了。  

    [1]

  • 上一篇:向应用程序添加报告
    下一篇:使用URL Moniker