///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//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
小王 阅读(147)
评论(0) 编辑 收藏 引用