vc++代码中如何看用的哪种数据库连接方式
与sqlserver2000连的数据库,是用的ado还是odbc????这是连接的代码,到底是哪种连接方式??boolCFinancialmanagementApp::C...
与sql server 2000连的数据库,是用的ado还是odbc????
这是连接的代码,到底是哪种连接方式??
bool CFinancialmanagementApp::ConnectDB(CString& strConnect)
{
_bstr_t bstrConnect(strConnect);
HRESULT hr=S_OK;
hr=m_pConnect.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{
AfxMessageBox(_T("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr创建实例失败。"));
return false;
}
try
{
m_pConnect->CursorLocation=adUseClient;
hr=m_pConnect->Open(bstrConnect,"","",adConnectUnspecified);
if(FAILED(hr))
{
// AfxMessageBox(_T("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr连接数据库失败。"));
m_pConnect=NULL;
return false;
}
}
catch(_com_error& e)
{
CString error;
error.Format("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr连接数据库出现异常。\
\r\n%s\r\n%s",e.ErrorMessage(),(char*)e.Description());
AfxMessageBox(_T(error));
if(adStateOpen==m_pConnect->State)
{
m_pConnect->Close( );
}
m_pConnect=NULL;
return false;
}
return true;
}
void CFinancialmanagementApp::DisConnectDB()
{
if(NULL!=m_pConnect && adStateOpen==m_pConnect->State)
{
m_pConnect->Close();
}
m_pConnect=NULL;
} 展开
这是连接的代码,到底是哪种连接方式??
bool CFinancialmanagementApp::ConnectDB(CString& strConnect)
{
_bstr_t bstrConnect(strConnect);
HRESULT hr=S_OK;
hr=m_pConnect.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{
AfxMessageBox(_T("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr创建实例失败。"));
return false;
}
try
{
m_pConnect->CursorLocation=adUseClient;
hr=m_pConnect->Open(bstrConnect,"","",adConnectUnspecified);
if(FAILED(hr))
{
// AfxMessageBox(_T("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr连接数据库失败。"));
m_pConnect=NULL;
return false;
}
}
catch(_com_error& e)
{
CString error;
error.Format("CFinancialmanagementApp::ConnectDB()中\r\n_ConnectionPtr连接数据库出现异常。\
\r\n%s\r\n%s",e.ErrorMessage(),(char*)e.Description());
AfxMessageBox(_T(error));
if(adStateOpen==m_pConnect->State)
{
m_pConnect->Close( );
}
m_pConnect=NULL;
return false;
}
return true;
}
void CFinancialmanagementApp::DisConnectDB()
{
if(NULL!=m_pConnect && adStateOpen==m_pConnect->State)
{
m_pConnect->Close();
}
m_pConnect=NULL;
} 展开
3个回答
展开全部
你有的是ADO
_bstr_t bstrConnect(strConnect);
HRESULT hr=S_OK;
hr=m_pConnect.CreateInstance(__uuidof(Connection));
m_pConnect 这个类型应该是ADO中的一个智能指针 _ConnectionPtr类型的。
m_pConnect.CreateInstance(__uuidof(Connection)); 它是实例化一个连接对象。
最重要的是这句话
m_pConnect->Open(bstrConnect,"","",adConnectUnspecified);
打开数据库连接,你写的函数参数就是ADO的Open的函数参数
ODBC打开数据库连接是OpenEx()函数,
_bstr_t bstrConnect(strConnect);
HRESULT hr=S_OK;
hr=m_pConnect.CreateInstance(__uuidof(Connection));
m_pConnect 这个类型应该是ADO中的一个智能指针 _ConnectionPtr类型的。
m_pConnect.CreateInstance(__uuidof(Connection)); 它是实例化一个连接对象。
最重要的是这句话
m_pConnect->Open(bstrConnect,"","",adConnectUnspecified);
打开数据库连接,你写的函数参数就是ADO的Open的函数参数
ODBC打开数据库连接是OpenEx()函数,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询