📄 adoconn.cpp
字号:
#include "StdAfx.h"
#include "ADOConn.h"
CADOConn::CADOConn(void)
{
m_pConnection=NULL;
}
CADOConn::~CADOConn(void)
{
}
BOOL CADOConn::Execute(_bstr_t bstrSQL,_bstr_t DB_Name)
{
try
{
if (m_pConnection==NULL)
OnInitADOConn(DB_Name);
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
// m_pConnection->Execute((LPCSTR)bstrSQL, NULL, adExecuteNoRecords);
}
catch (_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return false;
}
return TRUE;
}
BOOL CADOConn::OnInitADOConn(_bstr_t DB_Name)
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->PutCursorLocation(adUseClient);
_bstr_t connectionstring = "Provider=sqloledb;Data Source=";
connectionstring += _T("(LOCAL)");
connectionstring += ";Initial Catalog=";
connectionstring += DB_Name;
connectionstring += ";User Id=sa";
connectionstring += ";Password=";
connectionstring += ";";
m_pConnection->Open(connectionstring,"","",adConnectUnspecified);
/* m_pConnection->ConnectionString="driver={SQL Server};server="";datebase="+DB_Name;
m_pConnection->Open("","","",NULL);*/
}
catch (...)
{
AfxMessageBox(_T("初始化出错"));
return false;
}
return TRUE;
}
void CADOConn::ExitConnect()
{
m_pConnection->Close();
::CoUninitialize();
}
_RecordsetPtr CADOConn::GetRecordset(_bstr_t bstrSQL,_bstr_t DB_Name)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn(DB_Name);
m_pRecordset.CreateInstance(__uuidof(Recordset));
// m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->Open(bstrSQL, _variant_t((IDispatch *)m_pConnection,true), adOpenKeyset,adLockOptimistic, adCmdText);
// pRecordset->Open(vtSQL, _variant_t( (IDispatch *) pConnection,true),
// adOpenKeyset,adLockOptimistic, adCmdText);
}
catch (_com_error e)
{
AfxMessageBox(e.ErrorMessage());
//return m_pRecordset=NULL;
}
return m_pRecordset;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -