手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

VC用ADO访问数据库全攻略

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

介绍
VC用ADO访问数据库全攻略,介绍了VC用ADO来访问数据库的各个对象及各方法,很经典,也很实用,很值得一看。

正文
一、ADO概述
ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是个便于使用的应用程式层接口。ADO 使您能够编写应用程式以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的长处是易于使用、速度快、内存支出少和磁盘遗迹小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,任何这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。

OLE DB是一组”组件对象模型”(COM) 接口,是新的数据库低层接口,他封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文档系统、文本和图像、自定义业务对象等等。也就是说,OLE DB 并不局限于 ISAM、Jet 甚至关系数据源,他能够处理任何类型的数据,而不考虑他们的格式和存储方法。在实际应用中,这种多样性意味着能够访问驻留在 Excel 电子数据表、文本文档、电子邮件/目录服务甚至邮件服务器,诸如 Microsoft Exchange 中的数据。但是,OLE DB 应用程式编程接口的目的是为各种应用程式提供最好的功能,他并不符合简单化的需要。您需要的API 应该是一座连接应用程式和OLE DB 的桥梁,这就是 ActiveX Data Objects (ADO)。

二、在VC中使用ADO(研发步骤好下:)

1、引入ADO库文档

使用ADO前必须在工程的stdafx.h头文档里用直接引入符号#import引入ADO库文档,以使编译器能正确编译。代码如下所示:

用#import引入ADO库文档

#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")

这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为adoEOF。现在不需添加另外的头文档,就能够使用ADO接口了。

2、初始化OLE/COM库环境
必须注意的是,ADO库是一组COM动态库,这意味应用程式在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程式里,一个比较好的方法是在应用程式主类的InitInstance成员函数里初始化OLE/COM库环境。

BOOL CMyAdoTestApp::InitInstance()
{
if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
}

……

}

3、ADO接口简介

ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。
_ConnectionPtr接口返回一个记录集或一个空指针。通常使用他来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。而用_ConnectionPtr操作时要想得到记录条数得遍历任何记录,而用_RecordserPtr时无需。

_CommandPtr接口返回一个记录集。他提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,您能够利用全局_ConnectionPtr接口,也能够在_CommandPtr接口里直接使用连接串。假如您只执行一次或几次数据访问操作,后者是比较好的选择。但假如您要频繁访问数据库,并要返回很多记录集,那么,您应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。

_RecordsetPtr是个记录集对象。和以上两种对象相比,他对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口相同,他不一定要使用一个已创建的数据连接,能够用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让他自己创建数据连接。假如您要使用多个记录集,最好的方法是同Command对象相同使用已创建了数据连接的全局_ConnectionPtr接口




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS