文档章节

ADO数据库开发技术

来来叔叔
 来来叔叔
发布于 2017/08/04 23:56
字数 800
阅读 8
收藏 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
206
0
数据库开发——各类DB的概念关系

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

徐燕
2011/04/15
0
0
ADO相关知识

什么是ADO? ADO是一项微软的技术; ADO是ActiveX数据对象(ActiveX Data Objects); ADO是微软的Active-X组件; ADO是一个访问数据库中数据的编程接口。 通过ADO访问数据库中数据的流程 1....

_编程菜鸟_
2016/04/24
10
0
如何开发WINDOWS PHONE 数据库应用程序?

《WindowsPhone应用开发指南7》书中好像并没有提及到如何开发ADO类数据库应用程序。 而VS 2010 EXPRESS FOR WINDOWS PHONE 中好像也没有ADO类控件可添加。 请问是EXPRESS版没有ADO控件? 还是...

张国荣
2012/04/11
1K
4
基于Delphi的三层数据库系统的实现方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/4024130 基于Delphi的三层数据库系统的实现方法 摘要随着中间件与Web技术的发展...

rdiframework
2009/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
37分钟前
9
4
[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
6
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
26
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
19
0
my.ini

1

architect刘源源
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部