ADO底层实现
头文件
// ADOConn.h: interface for the ADOConn class.
//
//
#if !defined(AFX_ADOCONN_H__B8D01B34_20DA_49AE_9FA1_664D67A28ABD__INCLUDED_)
#define AFX_ADOCONN_H__B8D01B34_20DA_49AE_9FA1_664D67A28ABD__INCLUDED_
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class ADOConn
{
public:
//添加一个指向Connection对象的指针
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针
_RecordsetPtr m_pRecordset;
public:
ADOConn();
virtual ~ADOConn();
//初始化--连接数据库
void OnInitADOConn();
//执行查询
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
//执行SQL语句
BOOL ExecuteSQL(_bstr_t bstrSQL);
//断开数据库连接
void ExitConnect();
};
#endif // !defined(AFX_ADOCONN_H__B8D01B34_20DA_49AE_9FA1_664D67A28ABD__INCLUDED_)
源文件
// ADOConn.cpp: implementation of the ADOConn class.
//
//
#include "stdafx.h"
#include "WordGLXT.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//
// Construction/Destruction
//
ADOConn::ADOConn()
{
}
ADOConn::~ADOConn()
{
}
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
//创建connection对象
//下面语句等效于:m_pConnection.CreateInstance("ADODB.Connection");
m_pConnection.CreateInstance(__uuidof(Connection));
//设置连接字符串
_bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security&#