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库文件;

#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接口简介;
4、使用_ConnectionPtr接口;
5、使用_RecordsetPtr接口(以连接SQL
Server为例);
6、使用_CommandPtr接口;
1. 生成应用程序框架并初始化OLE/COM库环境
2.
引入ADO库文件
3.利用智能指针进行数据库操作
4.执行SQL命令并取得结果记录集;
10、邦定数据;
11、访问长数据;
12、使用SafeArray问题;
13、使用书签(
bookmark );
14、设置过滤条件;
15、索引与排序;
16、事务处理;


附录:

http://www.vckbase.com/index.php/wv/1776.html

http://www.vckbase.com/index.php/wv/1301.html

http://www.vckbase.com/index.php/wv/1275.html

待续......

时间: 05-08

VC++ ADO相关的相关文章

Oracle oledb 打包并集成到程序安装包(VC ADO访问Oracle)

最近有一个项目和oracle交互,我用的是ADO的方式进行试问操作. 首先把数据库连接的东东记录一下,老了记性不好啊! 操作如下: //连接串这么写的话就可以不用配置 tnsnames.ora配置文件了(网上很多教程都让改这个配置文件) strConnect.Format("Provider=OraOLEDB.Oracle.1;Password=%s;Persist Security Info=True;User ID=%s;\ Data Source=\"(DESCRIPTION =

win7 64 VC++ ado方式连接access 连接字符串

运行环境:win7 64       vc++6.0       office 2007  32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般都是32位的Office,因为微软推荐使用32位的Office,兼容性更强,稳定性更好.access文件是.mdb(2003格式,会提示没有jet访问组件) .accdb(2007格式)),因此需要安装AccessDatabaseEngine_X64.exe驱动,安装时会提示先卸载office再安装

Editplus配置VC++及相关注意事项

原本用的是VC++2010 现在换成了Visual Studio 2013,editplus相关配置方法基本不变.采用的办法是网上找到的cl.bat方法,这里总结下: 到VC的安装目录下,我这里是D:\VS\VS2013\VC\bin,在这里大家应该能看到vcvars32.bat和cl.exe两个文件.新建个文本文件,改名为cl.bat,我这里精简下,内容为: @echo off call "%VS120COMNTOOLS%vsvars32.bat" if "%1"

VC++ ADO 连接 mysql

通过自己摸索和网上帮助 了解了VC++ 用ADO 连接mysql数据库的方法:     使用的方法是利用ADO通过建立ODBC数据源来最终达到访问MySQL的目的.     1.安装mysql数据库服务器程序,也可安装appserv-win32-2.5.9.rar  里面包含了appche ,php,mysql ,安装后者可以通过网页管理数据库.因为方便所以我才用后者.             安装过程中记住密码.2.建立数据库:    可以通过命令行 也可以通过网页建立:http://loca

VC+ADO访问数据库发现进程句柄数增加

程序功能: 实现了一个TCP Server端,接收到客户端连接后,新增一个单独的线程与客户端交互,中间有数据库操作,完成后线程关闭. 实现方式是VC++,数据库访问采用的是ADO,数据库是Mariadb,odbc数据源,  mysql-connector. 最初的方式是每次数据库操作都是  新建ADO._Connection,打开链接,查询或提交,关闭链接 : 问题: 结果发现运行一段时间后进程句柄数一直在增加,然后就挂了. 解决: 修改为使用ADO的连接池,重用程序启动时创建的连接池中的连接,

VC ADO “ParameterDirectionEnum”:“enum” 类型等 重定义问题 解决方案

原因分析: 1.在头文件中: #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile") 2.在"stdafx.h "文件中, #ifndef _AFX_NO_DB_SUPPORT #include <afxdb.h> // MFC ODBC 数据库类 #endif //

vc++ ado连接数据库

基本步骤: 1.创建一个基于对话框的应用程序ADODatabase. 2.创建一个用来连接的ADO类库.系统菜单中Insert->New Class项,class type选择Generic Class; 在Name后输入类名"ADOConn",点OK.这样,在工程上自动生成ADOConn.h和ADOConn.cpp两个文件. 3.在ADOConn.h中导入一个ADO动态链接库msado15.dll, 添加代码:#import "c:\Program Files\Com

简单的VC++ ADO帮助类

首先看头文件 #pragma once #import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF") #if !defined(AFX_ADOCONN_H__75D447E2_EABB_4A14_9762_DD826E28D19

VC 屏幕相关操作

vc得到屏幕的当前分辨率方法:1.Windows API调用int width = GetSystemMetrics ( SM_CXSCREEN ); int height= GetSystemMetrics ( SM_CYSCREEN ); 如果想动态自适应分辨率的变化,处理WM_DISPLAYCHANGE消息. 2.获得分辨率BOOL EnumDisplaySettings( LPCTSTR lpszDeviceName, // display device DWORD iModeNum,