vc++ 连接数据库出错

来源:百度知道 编辑:UC知道 时间:2024/07/06 12:20:30
程序如下;
每次运行都显示:未指定的错误
这到底是连接不到数据库那还是代码里面缺少什么,我可是按照书上的写的

::CoInitialize(NULL);
AfxOleInit();
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=name;Persist Security Info=True;UserID=sa;Initial Catalog=pubs;Data Source=localhost;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
if(m_pConnection->State==adStateOpen)
MessageBox(_T("连接数据库"));
else
MessageBox(_T("失败"));
m_pConnection->Close();
if(m_pConnection->State==adStateClosed)
MessageBox(_T("断开连接"));
}

catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}

::CoUninitialize();

给你看看我的 我没用过SQLOLEDB 所以我也不知道你问题出哪
CString strSRC; //数据库地址
strSRC="Driver=SQL Server;Server=";
strSRC+=this->DBDlg.GetDBAddr();
strSRC+=";Database=";
strSRC+=this->DBDlg.GetDBName();
strSRC+=";UID=";
strSRC+=this->DBDlg.GetUserName();
strSRC+=";PWD=";
strSRC+=this->DBDlg.GetPassword();
_variant_t varSRC(strSRC);
_bstr_t bstrSRC(strSRC);

try
{
if (FAILED(m_pConn->Open(bstrSRC,"","",-1)))
{
AfxMessageBox("Can not open Database!");
m_pConn.Release();
return FALSE;
}