www.pudn.com > vclinkSQL11.rar > ADOConnect.cpp
// ADOConnect.cpp: implementation of the ADOConnect class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "vcSQL.h"
#include "ADOConnect.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADOConnect::ADOConnect()
{
}
ADOConnect::~ADOConnect()
{
}
void ADOConnect::OnInitADOConnect()
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t StrConnect="Provider=SQLOLEDB;Server=ALEX;Database=pubs;Uid=sa;Pwd=123456";
m_pConnection->Open(StrConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& ADOConnect::GetRcordset(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConnect();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
return m_pRecordset;
}
BOOL ADOConnect::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConnect();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
void ADOConnect::ExitConnect()
{
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
::CoUninitialize();
}