cstring m_pConnection->Open问题
我的代码如下:
void CMy3Dlg::OnBrowse()
{
CString dstSrc,Src,trc;
Src="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
CFileDialog fileDlg(TRUE);
if(IDOK == fileDlg.DoModal())
{
GetDlgItem(IDSRCDIR)->SetWindowText(fileDlg.GetPathName());
dstSrc = fileDlg.GetPathName();
}
dstSrc.Replace("\\", "\\\\" );
trc=Src+dstSrc;
// 定义ADO连接、命令、记录集变量指针
_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecordset;
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection) )))
{
m_pConnection->CursorLocation=adUseClient; //游标类型
}
try
{
m_pConnection->Open(trc,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库k.mdb是否在当前路径下!");
}
我希望当我点击浏览按钮,进入打开对话框,选择我要选的数据库,接着进行数据库连接,我把"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=k.mdb"换成trc,希望可以连接我选中的数据库。可是编译有错,不知道问题在哪里?
error C2664: 'Open' : cannot convert parameter 1 from 'class CString' to 'class _bstr_t'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.
3.exe - 1 error(s), 0 warning(s)