代码如下
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;
CString strConnect;
::CoInitialize(NULL);
strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=ascw;Data Source=notebook";
try
{
//ADOConn.CreateInstance(__uuidof(Connection));
ADOConn.CreateInstance( "ADODB.Connection");
if (ADOConn==NULL)
{
AfxMessageBox( "失败! \r\n ");
return;
}
//ADOConn-> Open((const char *)strConnect, " ", " ",adModeUnknown);//adConnectUnspecified
ADOConn-> Open((_bstr_t)strConnect, " ", " ",adModeUnknown); }
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format(_T("连接数据库失败!/r/n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);
}
------------------------------------------
执行到ADOConn-> Open时出现异常,e.ErrorMessage()信息为IDispatch error #3149,连接字符串是没问题的,已经连接测试成功的,大家帮忙看下是什么问题,谢谢了!
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;
CString strConnect;
::CoInitialize(NULL);
strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=ascw;Data Source=notebook";
try
{
//ADOConn.CreateInstance(__uuidof(Connection));
ADOConn.CreateInstance( "ADODB.Connection");
if (ADOConn==NULL)
{
AfxMessageBox( "失败! \r\n ");
return;
}
//ADOConn-> Open((const char *)strConnect, " ", " ",adModeUnknown);//adConnectUnspecified
ADOConn-> Open((_bstr_t)strConnect, " ", " ",adModeUnknown); }
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format(_T("连接数据库失败!/r/n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);
}
------------------------------------------
执行到ADOConn-> Open时出现异常,e.ErrorMessage()信息为IDispatch error #3149,连接字符串是没问题的,已经连接测试成功的,大家帮忙看下是什么问题,谢谢了!
最后得感谢竹叶青的软件,试过字符串连接数据库是没问题的,就顺便复制了软件里open的代码,哪知道居然连接成功,最后仔细比较了下,原来是参数出问题!