文档章节

ADO数据库开发技术

来来叔叔
 来来叔叔
发布于 2017/08/04 23:56
字数 800
阅读 4
收藏 0
 

ADO的底层是OLE DB,所以不仅能访问关系型数据库,也能访问非关系型数据库,更是现在最快速的数据库访问中间层。

1.ADO主要对象介绍

ADO对象包括:Connection Object(连接对象)、Command Object(命令对象)、RecordSet Object(记录集对象)、Field Object(字段对象)、Record Object(记录对象)、Error Object(错误对象)、Parameter Object(参数对象)、Property Object(对象)和Stream Object(流对象)。其中最为重要的3个对象是连接对象、命令对象和记录集对象。

Connection Object:代表了一个和数据源的连接,这和MFC odbc中创建数据源连接的CDatabase类非常相似。连接对象提供了对数据库的操作,但是它不返回数据库操作之后的记录集,这是和命令对象不同的一点。主要方法:Open(),Execute(),分别用来打开连接和执行SQL语句。

Command Object:用来处理数据库的一些操作,在某些方面具有和连接对象相同的功能,例如都可以执行SQL语句以及存储过程,不过命令对象可以返回带有记录集的结果。主要方法:Execute(),用来执行SQL语句。

RecordSet Object:代表了一个记录集,和MFC odbc中的CRecordset有些相似,用来访问记录集,能方便地实现记录的添加、修改和删除操作。主要方法:Open()用来打开记录集,还有AddNew(),PutValue(),Delete(),Update()等操作记录的方法。

在使用这3个对象时,需要定义与之对应的3个智能指针,分别为_ConnectonPtr,_CommandPtr和_RecordsetPtr,然后调用它们的CreateInstance方法进行实例化。

2._bstr_t和_variant_t类

在利用ADO时,_bstr和_variant_t两个类很有用,可以省去BSTR和VARIANT类型转换的麻烦。

COM编程不使用CString类,因为COM必须设计成跨平台,这就是VARIANT变量数据类型的来历,它是一个巨大的union联合体,几乎包含了所有的数据类型。BSTR类型是用来处理COM中的字符串的。

_variant_t类和_bstr_t类对VARIANT和BSTR进行了封装,允许用户简单地对其进行强制转换。

3.引入数据库

在VC中使用ADO,需要引入ADO库,可以在stdafx.h中包含

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace

rename("EOF","adoEOF")

在使用应用程序向导时,选择Automation选项,使程序能够支持“自动化”方式。

4.数据库的连接

定义连接对象:

_ConnectionPtr m_pConnection;

m_pConnection.CreateInstance(_uuidof(Connection));

调用Connection对象的Open方法创建数据库的连接。

HRESULT Open(_bstr

5.查询记录

定义记录集对象:

_RecordsetPtr m_pRecordset;

m_pRecordset.CreateInstance(_uuidof(Recordset));

调用Recordset对象的Open方法打开记录集。

获取记录的字段值的方式,GetCollect(),GetItem().

6.添加、修改和删除记录

可以使用连接对象(Connection Object)的Execute()方法,也可以使用命令对象(Command Object)的Execute()方法,执行相应的SQL语句来实现。另外也可以使用记录集对象(Recordset Object)调用相应的函数,最后调用Update()方法来操作记录。


© 著作权归作者所有

共有 人打赏支持
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
ADO,OLEDB,ODBC,DAO的区别

ODBC(Open Database Connectivity,开放数据库互连) 1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组...

长平狐
2013/01/06
186
0
SimpleFramework 源代码包简要介绍

SimpleFramework 源代码包简要介绍 SimpleFramework是基于Intercepting-Filter和MVC2模式,基于“应用即组件,组件即应用的理念采用Java 技术实现的Web应用级开源框架。 最近很多网友很关心s...

upsimple
2010/11/03
368
0
数据库开发——各类DB的概念关系

1、客户服务器:信息被传播到“哑终端”与大型主机交流 网络使得客户机与服务器共享信息,引发客户服务器计算过程。 2、OLE DB、ODBC、ADO的关系: OLE DB:对象链接和嵌入数据库。 ADO:Act...

徐燕
2011/04/15
0
0
ODBC、OLEDB、ADO、ADO.NET之间的关系

相信看到这篇文章的人,心中肯定有这样的想法:ODBC、OLEDB、ADO、ADO.NET貌似都是访问数据库的东东,那么他们之间有什么区别,又有什么联系呢?不要着急,待我慢慢道来。 先说 ODBC ,官方的...

流云的博客
2015/05/26
0
0
数据访问技术路线图[摘自MSDN]

数据访问技术路线图 发布日期: 3/22/2005 | 更新日期: 3/22/2005 Prash Shirolkar, Author Alyssa Henry, Contributor Stephen Pepitone, Contributor Acey J. Bunch, Contributor Microso......

晨曦之光
2012/04/12
80
0

没有更多内容

加载失败,请刷新页面

加载更多

一次由HandlerInterceptor进行的深入思考

HandlerInterceptor 是SpringFramework为我们提供的拦截器,一般我们可以用来鉴权或者日志记录等。 它是一个interface,主要方法有: /** * Intercept the execution of a handler. Called...

kipeng300
31分钟前
1
0
cmd中查询mysql表出现中文乱码

问题:在pycharm中正常的fetchall拉取数据,能够正常显示,而在cmd中直接select却出现中文乱码。 解决思路:右键查看cmd命令窗口属性得到,cmd窗口默认编码是gbk(如下图所示),而设置的mys...

fang_faye
57分钟前
2
0
centOS 安装Python3与python2并存

centOS 安装Python3与python2并存 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环...

MedivhXu
今天
2
0
Spring JdbcTemplate模板模式与回调结合分析

在看Spring的JdbcTemplate的时候,看到其将模板模式和回调模式结合使用的实现,可以精妙的解决很多的问题。详见Spring中涉及的设计模式总结中的关于模板模式和回调模式结合的具分析,本文利用...

宸明
今天
1
0
docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部