///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//AdoDBManager.h
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class AdoDBManager
{
public:
?AdoDBManager(void);
?~AdoDBManager(void);
?void Exec(char* str);
?void CloseConnect();
protected:
?_ConnectionPtr??m_pConn;
?_bstr_t????m_strConnInfo;
?_RecordsetPtr??m_pRecset;
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//AdoDBManager.cpp
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "AdoDBManager.h"
#include <iostream>
AdoDBManager::AdoDBManager(void)
{
?CoInitialize(NULL);
?//m_pConn.CreateInstance(__uuidof(Connection));
?HRESULT hr = m_pConn.CreateInstance("ADODB.Connection");///創建Connection對象
?if(!SUCCEEDED(hr))
??return;
?m_pConn->Open("Provider=SQLOLEDB; Server=winsvr01; Database=Market; uid=dev; pwd=dev1234;", "", "", -1);
?hr = m_pRecset.CreateInstance(_uuidof(Recordset));
?if(!SUCCEEDED(hr))
??return;
?int i = 0;
}
AdoDBManager::~AdoDBManager(void)
{
?if(m_pConn)
??delete m_pConn;
?if(m_pRecset)
??delete m_pRecset;
}
void AdoDBManager::Exec(char* str)
{
?std::string strName;
?m_pRecset->Open(_variant_t(str), m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
?while(!m_pRecset->EndOfFile)
?{
??FieldsPtr?? fields?= m_pRecset->GetFields();??
??int???nFields?= fields->GetCount();?
??for(int i = 0; i < nFields; i++)
??{
???//_variant_t vUsername,vBirthday,vID,vOld;
???//vID = m_pRecordset->GetCollect(_variant_t((long)0));///取得第1列的值,從0開始計數,
???//if(vID.vt != VT_NULL && vUsername.vt != VT_NULL && vOld.vt != VT_NULL && vBirthday.vt != VT_NULL)
???//?TRACE("id:%d,姓名:%s,年齡:%d,生日:%s\r\n",
???//?vID.lVal,
???//?(LPCTSTR)(_bstr_t)vUsername,
???//?vOld.lVal,
???//?(LPCTSTR)(_bstr_t)vBirthday);
??}
??m_pRecset->MoveNext();
?}
?m_pRecset->Close();
}
void AdoDBManager::CloseConnect()
{
?m_pConn->Close();
}
posted on 2010-01-22 19:33
小王 閱讀(155)
評論(0) 編輯 收藏 引用