VC++OLEDB实战编程教程.doc

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VCOLEDB实战编程教程

VC++ 实战OLEDB编程(一) 1 VC++ 实战OLEDB编程(二) 8 VC++ 实战OLEDB编程(三) 16 VC++ 实战OLEDB编程(四) 23 VC++ 实战OLEDB编程(五) 37 VC++ 实战OLEDB编程(六) 48 VC++ 实战OLEDB编程(七)一个完整的例子 58 VC++实战OLEDB编程(八)——行状态与延迟更新 66 VC++实战OLEDB编程(九) 73 VC++实战OLEDB编程(十) 79 ——关于延迟提交新增行问题的澄清 79 VC++实战OLEDB编程(十一) 81 ——参数化查询和存储过程调用 81 VC++ 实战OLEDB编程(一) 很久没有写点新的东西了,最近实在是非常的忙,也没有时间去料理自己的博客,今天总算是休息一下,写点东西,算是给自己交个差吧。 这次我准备系统的介绍下OLEDB编程的一些内容。OLEDB作为目前最全面,最强大的Windows平台下的数据库编程接口,其资料在网上却少之又少,这着实有些让人纳罕。 现在很多的应用软件系统都要和数据库打交道,没有一个好的强大的数据库编程接口作为支撑,这些系统的功能,性能,安全性等等都将是不可想象的事情。当然我们还可以选择OLEDB之上的ADO接口来作为我们的编程接口,由于ADO是基于OLEDB的上层封装,ADO比之OLEDB最大的优势就在于方便。使用ADO只需要3-5行代码的事情,用OLEDB却需要将近200-300行代码才能完成,这也是很多系统目前使用ADO作为数据库编程接口的主要原因。当然这并不表示OLEDB在功能上比ADO有什么逊色之处,相反,OLEDB接口不但功能强大,而且由于处于底层的原因,它在灵活性上有更明显的优势。甚至我鼓励VC++程序员在大型项目中使用OLEDB而不是ADO来作为数据库编程的接口,因为OLEDB的很多东西都是由你完全控制的,比如数据存放的位置,存放的方式等等。 另外OLEDB还可以作为数据提供者编程接口,比如你可以自己实现一个ORACLE或MySQL的OLEDB提供程序。 好了,废话就不多说了,下面就开始我们正式的OLEDB之旅,注意本文以及以后一系列文章中所有的关于OLEDB的介绍都以OLEDB2.6以上版本为准,你可以在微软的网站上免费下载到完整的OLEDB2.6SDK包,其中有关于OLEDB,ADO等的详细帮助以及例子代码。 首先让我们来看看OLEDB中两个最基本的概念:数据提供者和数据消费者。在OLEDB中,不但要考虑使用数据的一方,还要考虑提供数据的一方,比如各种数据库系统几乎都提供了自己的OLEDB接口。从本质上说,OLEDB其实就是一个标准的数据库与应用系统间的数据标准交换接口,它的好处就是高效,通用和灵活。 如果是数据提供的一方,在OLEDB中就称之为数据提供者,如果是使用数据的一方,那么就称之为数据消费者。在此系列文章中将主要的介绍一下数据消费者接口。 OLEDB顾名思义,它肯定是一组COM接口,因此要用好OLEDB,一个必不可少的先决条件就是必须熟悉COM原理,当然这对现在的VC++程序员来说是必须掌握的技能之一,本文中不对COM的基本内容做任何介绍,需要的请自己查阅相关资料。 要完成一个数据库访问任务,第一件要做的事情就是打开一个连接,在OLEDB2.0以前的版本中,要做到这点只需要像下面这样调用一段代码就可以创建一个数据库连接: #define COM_NO_WINDOWS_H //如果已经包含了Windows.h或不使用其他Windows //库函数时 #define DBINITCONSTANTS #define INITGUID #define OLEDBVER 0x0250 #include oledb.h #include oledberr.h IDBInitialize *pIDBInitialize = NULL; CoCreateInstance(CLSID_MSDASQL, NULL, CLSCTX_INPROC_SERVER, IID_IDBInitialize,(void**)pIDBInitialize); 当然如果你使用的SQL Server 2005以上的数据库,那么还可以像下面这样来创建一个连接对象: #include sqlncli.h CoCreateInstance( CLSID_SQLNCLI10,NULL,CLSCTX_INPROC_SERVER, IID_IDBInitialize,(void **) pIDBInitialize); 这样调用的前提是你已经安装了SQL Server Native Client支持组件,当然这还需要你包含SQLNCLI.h这个头文件,这个在Win

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档