文档章节

ADO数据库开发技术

来来叔叔
 来来叔叔
发布于 2017/08/04 23:56
字数 800
阅读 4
收藏 0
点赞 0
评论 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
如何开发WINDOWS PHONE 数据库应用程序?

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

张国荣
2012/04/11
1K
4
ADO相关知识

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

_编程菜鸟_
2016/04/24
10
0
ACWS Framework 简介

- ACWS Framework 是为开发ACWS结构的应用程序和实现Web Service功能,为方便此类应用开发而设计的一套基础的分布式运算构架。 ACWS Framework是一套吸收C/S结构和B/S结构的基础上作出的,全...

agilelab
2006/11/21
0
0
MySQL入门教程系列-1.2 数据库技术构成

数据库技术构成 共同编辑,修正错误,这里点击进去 数据库技术的出现是为了更加有效的管理和存取大量的数据资源。简单的来讲,数据库技术主要包括数据库系统,SQL语言,数据库访问技术。 数据...

小弟调调™
2016/09/29
0
0
SQL Server 2012实施与管理实战指南(笔记)——Ch4数据库连接组件

4.数据库连接组件 访问数据库有多种不同的技术,包括ADO,ODBC,OLEDB,ADO.NET等这些都有一些共性。首先要建立连接(Connection),然后通过命令(Command)对数据库进行访问,最后把结果集放到...

技术小胖子
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway 接口文档聚合实现

在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走...

冷冷gg
34分钟前
13
0
流利阅读笔记30-20180719待学习

1.今日导读 2.带着问题听讲解 3.新闻正文(中英文对照) 4.重点词汇 5.拓展内容

aibinxiao
37分钟前
1
0
OSChina 周五乱弹 —— 我们是食物链的最底层

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @温家成 :分享谢安琪的单曲《姿色份子》 《姿色份子》- 谢安琪 手机党少年们想听歌,请使劲儿戳(这里) @贪吃飒:最近p2p怎么了、半个月爆了...

小小编辑
50分钟前
6
1
Android Studio 3.0 之后打包apk出现应用未安装问题

1、废话 出现这个问题的原因,并不是只有一个,而是有多个原因,不懂的估计会被搞得一头雾水,下面我列举的是我遇到的几种问题和网友遇到的几种问题,但不一定是全部,也有可能有些莫名其妙的...

她叫我小渝
今天
0
0
前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
9
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部