准备:
(1)、引入ADO类
1 #import "c:/program files/common files/system/ado/msado15.dll" /
2 no_namespace /
3 rename ("EOF", "adoEOF")
2)、初始化COM
在MFC中可以用AfxOleInit();非MFC环境中用:CoInitialize(NULL);CoUnInitialize();
(3)#import 包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr
1.连接和关闭数据库
(1)连接
例子:连接Access数据库
1 AfxOleInit();//初始化
2 HRESULT hr;3 try
4 {5 hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
6 if(SUCCEEDED(hr))7 {8 m_pConnection->ConnectionTimeout = 0;9 hr = m_pConnection->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb", "", "", adModeUnknown);10 //m_pConnection->PutDefaultDatabase ((_bstr_t)"DB");//设置默认数据库
11
12 m_pCommand.CreateInstance(__uuidof(Command));13 m_pCommand->CommandTimeout = 5;14 m_pCommand->ActiveConnection =m_pConnection;15 }16 }17 catch(_com_error e)///捕捉异常
18 {19 CString errormessage;20 errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());21 AfxMessageBox(errormessage);///显示错误信息
22 }
(2)、关闭
//如果数据库连接有效
if( m_pConnection->State )
m_pConnection->Close();
m_pConnection= NULL;
(3)、设置连接时间
1 //设置连接时间-----------------------------------
2 pConnection-&