sFile="c:/data.mdb"
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+sFile,"","",adModeUnknown);//连接数据库
sFile为Access数据库路径 出错!但是hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb","","",adModeUnknown);//连接数据库
却没有错误!为什么呢?那么我怎么用变量表示连接数据库的路径呢?帮帮忙!
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+sFile,"","",adModeUnknown);//连接数据库
sFile为Access数据库路径 出错!但是hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb","","",adModeUnknown);//连接数据库
却没有错误!为什么呢?那么我怎么用变量表示连接数据库的路径呢?帮帮忙!
另外你在调用OPEN以前先把它合并成一个字符串试试,而不是在调用时用+合并
{
CString strTmp;
// CString SQLServerName;
strTmp.Format( "driver={sql server};"
"server=%s;"
"Database=%s;UID=%s;PWD=%s;",DBServer,DBName,UserName,PWD);
// Create Connection Object (1.5 Version)
_variant_t vtEmpty (DISP_E_PARAMNOTFOUND, VT_ERROR);
_variant_t vtEmpty2(DISP_E_PARAMNOTFOUND, VT_ERROR);
_bstr_t bstrEmpty(L""); try
{
Conn1.CreateInstance( __uuidof( ADODB::Connection ) );
Conn1->ConnectionString =(LPCTSTR) strTmp;// bstrSQLServerConnect;
Conn1->Open( bstrEmpty, bstrEmpty, bstrEmpty, -1 );
return 0;
}
catch(_com_error & ce)
{
return 1;
}
}
将 strTmp.Format( "driver={sql server};"
"server=%s;"
"Database=%s;UID=%s;PWD=%s;",DBServer,DBName,UserName,PWD);
改为你的格式,不行将你的代码贴上