探秘ADO数据库访问技术有关信息

开发 后端
对于理论的知识我们都能熟练的掌握,可是实际怎么用代码实现往往就是一个难题了,这里就通过编写代码来ADO.NET连接数据库的连接实验

学习ADO.NET时,你可能会遇到ADO.NET Access问题,这里将介绍ADO.NET Access问题的解决方法,在这里拿出来和大家分享一下。在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的ADO.NET Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。

下面让我们看看ADO数据库访问技术使用的基本步骤及方法:

首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:

其次,在程序初始过程中需要初始化组件,一般可以用CoInitialize(NULL);来实现,这种方法在结束时要关闭初始化的COM,可以用下面语句CoUnInitialize();来实现。在MFC中还可以采用另一种方法来实现初始化COM,这种方法只需要一条语句便可以自动为我们实现初始化COM和结束时关闭COM的操作,语句如下所示: AfxOleInit();

接着,就可以直接使用ADO的操作了。我们经常使用的只是前面用#import语句引用类型库时,生成的包装类.tlh中声明的智能指针中的三个,它们分别是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分别对它们的使用方法进行介绍:

在ADO中,以上所有这些方式与不同类型的游标相对应 .在文中,你将会发现,ADO.NET虽然与ADO不同,但它具备了ADO的所有功能.相对照来说,你的代码将从实际的数据源及其物理存储媒介和格式中抽取数据.#t#

ADO.NET能够使DataSet 和 DataReader 将数据从数据源中抽取出来.前者是记录在内存中的缓存,你可以从任意方向访问并随意作出修改. 后者是高度优化的对象,在只读纪录集中以仅向前方式向前移动。注: DataSet 看起来象是静态游标,但实际上,在.NET中,与ADO只读游标相对应的是DataReader 对象.

在ADO.NET中,虽然对于服务器端的游标不提供任何支持,但这不意味着你就不能使用游标.实际上,你所需要做的步骤是在.NET中输入ADO库.你只需在references node上单击右键,就可以在你自己的程序里运行本地ADO 对象.

但是我个人认为,在你想转向.NET时,请慎重考虑. 首先,请务必完全输入ADO, 这不会花费太多时间和精力,这是向.NET迈出的第一步,.但是,这仅仅是万里长征的第一步而且也是通向.NET必须的一步. .NET的真正附加值是基于一个均匀的,持续稳定的接口以及本地classes的广为应用之上的.关于COM libraries是可以被支持的,合理的,但不被鼓励的,因为它仅仅是个短期解决方案,或者是一个过渡步骤.

责任编辑:chenqingxiang 来源: NET130
相关推荐

2009-12-31 15:39:46

ADO.NET访问数据

2009-12-23 15:53:36

ADO.NET访问数据

2009-12-24 10:37:03

ADO.NET访问数据

2009-12-29 11:15:45

ADO数据库

2009-11-13 15:45:54

ADO.NET数据库访

2009-11-04 17:22:30

ADO.NET数据访问

2009-12-31 09:54:04

ADO.NET数据访问

2009-11-11 15:24:35

ADO创建数据库

2011-05-17 15:30:27

Oracle数据库ADO

2011-10-09 13:38:14

数据库

2009-12-21 15:07:41

ADO Access数

2009-11-12 16:33:26

ADO.NET数据库

2009-12-25 16:36:43

ADO.NET数据集

2009-11-11 10:01:56

ADO.NET程序设计

2009-11-11 13:59:15

ADO.NET与ADO

2009-12-23 09:40:53

ADO对象模型

2011-05-20 13:11:22

ADO.NET

2009-12-22 11:29:34

ADO Records

2009-11-03 14:46:47

ADO.NET数据库

2009-12-22 09:59:06

ADO.NET数据库
点赞
收藏

51CTO技术栈公众号