看的http://blog.csdn.net/hqw7286/article/details/5441000稍有改动
把对数据库的 初始化,获得链接集,执行,退出封装到到一个类中:
头文件:
#pragma once
#include "afx.h"
class CADOConn :public CObject
{
public:
CADOConn(void);
~CADOConn(void);
_RecordsetPtr GetRecordset(_bstr_t bstrSQL);
BOOL OnInitADOConn();
BOOL Execute(_bstr_t bstrSQL);
void ExitConnect(void);
private:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
};
实现文件:
#include "StdAfx.h"
#include "ADOConn.h"
CADOConn::CADOConn(void)
{
}
CADOConn::~CADOConn(void)
{
}
_RecordsetPtr CADOConn::GetRecordset(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,
m_pConnection.GetInterfacePtr(),//获取库连接的IDispatch
adOpenDynamic,
adLockOptimist