
OLEDB编程
GamebabyRockSun_QQ
曾经拥有的,不要忘记,
已经得到的,更要珍惜,
属于自己的,不要放弃,
已经失去的,留着回忆,
想要得到的,必须努力,
但最重要的,是好好爱惜自己!
展开
-
VC++ 实战OLEDB编程(一)
很久没有写点新的东西了,最近实在是非常的忙,也没有时间去料理自己的博客,今天总算是休息一下,写点东西,算是给自己交个差吧。这次我准备系统的介绍下OLEDB编程的一些内容。OLEDB作为目前最全面,最强大的Windows平台下的数据库编程接口,其资料在网上却少之又少,这着实有些让人纳罕。现在很多的应用软件系统都要和数据库打交道,没有一个好的强大的数据库编程接口作为支撑,这些系统的功能,性能,...原创 2017-10-10 14:17:52 · 3520 阅读 · 0 评论 -
VC++实战OLEDB编程(十二)——终结篇
在经历了很长一段时间沉寂之后,Gamebaby我终于能够把OLEDB这个话题的日志给结束了,还有很多很多内容,最终我都录制成了视频教程,并且循序渐进的提供了所有的教程完整例子,有近30个例子. 视频教程在:http://www.ibeifeng.com/goods.php?id=243 因此后面的内容就不再单独写成博文了,有真正想深入学习并最终想成为OLEDB编程专原创 2017-10-10 14:20:54 · 565 阅读 · 2 评论 -
VC++实战OLEDB编程(十一)——参数化查询和存储过程调用
在一些面向业务的应用程序中,很多业务的查询往往是固定的,其中有些甚至只是根据不同的值改变几个固定的条件值而已。比如查询用户信息,通常都是根据用户编号或者用户名称等固定信息查询用户表得到一个结果集。比如查询语句:Select * From 用户表 Where 用户号=’xxxx’。往往在一些程序中,这个语句都是先被组成字符串,然后被执行。之前文章中的例子也是这样做的,最终的SQL语句都是一个字...原创 2017-10-10 14:18:24 · 782 阅读 · 0 评论 -
VC++实战OLEDB编程(十)——关于延迟提交新增行问题的澄清
在“实战OLEDB编程”系列文章中,后面的几篇文章中讨论了一下关于延迟提交的问题,有网友回复说新插入的行无法延迟提交,并说是微软的一个bug,本着怀疑一切和刨根问底的精神,我对这个问题进行了深入的实验和研究,结果发现,这种说法很是不负责任的。现在可以肯定的说新插入行的延迟提交是完全没有任何问题的。至于为什么有网友说不能延迟提交呢?我也分析了一下原因,结果发现,有个关键原因导致新插入行的延...原创 2017-10-10 14:18:22 · 342 阅读 · 0 评论 -
VC++实战OLEDB编程(九)
在前面的系列文章中,关于OLEDB的大概面貌算是介绍清楚了,很多网友也已经开始了伟大的OLEDB编程实践,这也让我很欣慰。但欣慰之余,我认真的审视了前面的内容,结果发现还是遗漏了很多很多非常非常有用的细节,比如我们常用的数据类型转换,这个专题就几乎没有讨论过,以至于很多网友在OLEDB编程应用中还是只能裹足不前,这也成了一个非常严重的障碍,那么这次我就集中精力先把这个障碍扫清吧。一般的,我们应...原创 2017-10-10 14:18:16 · 644 阅读 · 0 评论 -
VC++实战OLEDB编程(八)——行状态与延迟更新
在之前的七篇文章中,我们连续的掌握了从连接数据库到取出数据,再到修改数据的整个过程,同时也看到了一个相对较完整的例子,如果认真阅读并实践前面系列文章的话,那么作为OLEDB编程入门的内容算是都掌握了,当然所有已掌握的内容都是将要学习的新内容的基础,因此之后的文章都要求对前面的内容有熟练的掌握和深刻的理解。OK,下面我们开始新内容的学习。在第六篇文章中,我们介绍了如何修改、新增、删除记录的方法,...原创 2017-10-10 14:18:13 · 591 阅读 · 0 评论 -
VC++ 实战OLEDB编程(七)一个完整的例子
为了方便大家总结和学习前面的章节内容,此处给出一个完整的OLEDB的例子,作为前面所有内容的一个总结,使用VS2008新建一个空的Win32项目,然后新建一个cpp文件,将所有代码都复制粘贴进去,然后编译执行即可,因为这个例子没有什么输出,所以建议使用调试方式一步步执行看程序的执行逻辑,代码中注释的部分并不表示没有用处,而是一些功能性的代码,有些事开关,有些是特殊功能,可以自己选择性...原创 2017-10-10 14:18:10 · 1174 阅读 · 3 评论 -
VC++ 实战OLEDB编程(六)
前面的系列文章中,我们主要讨论的是如何“获得”或者“读取”数据,关键的步骤就是如何执行一个SQL语句,并读取语句的结果集,包括读取BLOB型数据。对于一般的任务来说,这些基本的操作已经足够了,因为只要可以执行SQL语句,那么大多数数据库任务就可以很好的完成了,而我们要做的就是以静态或动态的方式拼出SQL语句即可。看起来这很完美,事实上也是这样,在一些应用中,这确实足够了,但是对于一些高级的任务...原创 2017-10-10 14:18:07 · 568 阅读 · 0 评论 -
VC++ 实战OLEDB编程(五)
很久没有更新我的博客了,作为系列文章,OLEDB这个专题的前几篇文章受到了广大网友的极大关注,让我有点受宠若惊了,本想早点完成这个系列,哪怕是后续的文章,无奈杂务缠身,加之原稿和原始代码的丢失,使我不得不又重头建立这些,当然只要有网友的关注,我就会继续将这个话题讨论下去,直到大家都真正的掌握OLEDB这个数据库编程接口,哪怕仅仅是点击率的上涨,对我都是莫大的安慰。前面的系列文章只是使用OLED...原创 2017-10-10 14:18:04 · 510 阅读 · 0 评论 -
VC++ 实战OLEDB编程(四)
在开始新的结果集对象(Rowset)之旅之前,我们再来补充一个关于Command对象的用法,在有些情况下,我们执行的SQL语句只是一个Update、Insert或Delete等操作,有些时候我们可能直接执行就是一个存储过程而已,存储过程可能产生也可能不产生一个结果集,这类没有结果集的SQL语句,我们可以像下面这样来执行:pICommandText->Execute(NULL,IID_N...原创 2017-10-10 14:18:01 · 859 阅读 · 4 评论 -
VC++ 实战OLEDB编程(三)
接下来我们详细的讨论有关命令(Command)对象的各个接口。通过前面的两篇文章,大家应该已经知道一些基础知识:属性集合,属性,对象,接口,如何打开连接,如何创建事务等等,有了这些基础的概念性的知识,对于理解和应用好OLEDB编程接口是非常重要的,对于访问数据源数据的任务来说前面仅仅是开始。对于一个像数据库这类的数据源,操作它最好的方法就是使用SQL语句,在OLEDB中对执行SQL语句提供了完整的...原创 2017-10-10 14:17:58 · 659 阅读 · 2 评论 -
VC++ 实战OLEDB编程(二)
上回书说到(哎哟!谁扔的臭鸡蛋?不好意思忘了我是搞IT的不是说书的了。)在前面我们已经介绍了如何创建一个连接对象(记住叫IDBInitialize,而不是别的什么东西),接下来我们就需要用这个连接对象来创建一个叫做事务的对象了,搞数据库的都知道什么叫事务我就不多说了,这个地方只是强调下一个连接对象可以创建多个事务对象,这一点大家要记清楚,在ATL的OLEDB封装中将连接对象和事务对象被一对一的封装...原创 2017-10-10 14:17:55 · 584 阅读 · 0 评论