我采用的是ADO链接数据库的操作方式,但是当调用含有OpenDataSource()的SQL语句是出现异常。请看代码:
strSql = _T("");
strSql = _T("select * into aaaa from OpenDataSource");
strSql += _T("('Microsoft.Jet.OLEDB.4.0");
strSql += _T("'");
strSql += _T(",");
strSql += _T("'");
strSql += _T("Data Source=");
strSql += _T('"');
strSql += _T(OriginalBase->m_sdb);
strSql += _T('"');
strSql += _T(";");
strSql += _T("User ID=Admin;Password=");
strSql += _T("')...temp");
这条SQL语句为“select * into aaaa from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\Documents and Settings\Administrator\桌面 \test.mdb";User ID=Admin;Password=')...temp”
链接代码为:
m_RecordsetPtr.CreateInstance(__uuidof(AdoNS::Recordset));
m_RecordsetPtr = m_ConnectionPtr->Execute((_bstr_t)strSql,&vRowAffected,AdoNS::adCmdText);
请问ADO是否支持带有OpenDataSource()的语句。如果支持请问,此部分代码有问题吗?
strSql = _T("");
strSql = _T("select * into aaaa from OpenDataSource");
strSql += _T("('Microsoft.Jet.OLEDB.4.0");
strSql += _T("'");
strSql += _T(",");
strSql += _T("'");
strSql += _T("Data Source=");
strSql += _T('"');
strSql += _T(OriginalBase->m_sdb);
strSql += _T('"');
strSql += _T(";");
strSql += _T("User ID=Admin;Password=");
strSql += _T("')...temp");
这条SQL语句为“select * into aaaa from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\Documents and Settings\Administrator\桌面 \test.mdb";User ID=Admin;Password=')...temp”
链接代码为:
m_RecordsetPtr.CreateInstance(__uuidof(AdoNS::Recordset));
m_RecordsetPtr = m_ConnectionPtr->Execute((_bstr_t)strSql,&vRowAffected,AdoNS::adCmdText);
请问ADO是否支持带有OpenDataSource()的语句。如果支持请问,此部分代码有问题吗?
SQL服务器在本机上。
还有更好的办法吗?
还有别的方法吗?