_ConnectionPtr不能存入list吗
_ConnectionPtr是连接数据库的对象
_ConnectionPtr tempConn;
list<_ConnectionPtr> connlist;//数据库连接池 存入list
connlist.push_back(tempConn);
会报错
d:\microsoft visual studio 8\vc\include\list(1170) : error C2664: “std::allocator<_Ty>::construct”: 不能将参数 1 从“_Connection **”转换为“_com_ptr_t<_IIID> *”
vector<_ConnectionPtr> vs;
vs.push_back(tempConn);
能正常编译
_ConnectionPtr为什么不能用list去存储呢 vs 数据库连接池 数据库
[解决办法]
#include <list>
#include <vector>
using namespace std;
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
_ConnectionPtr InitConnection()
{
list<_ConnectionPtr> lc;
vector<_ConnectionPtr> vc;
CoInitialize(NULL);
_ConnectionPtr m_pConnection;
try
{
HRESULT hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
// hr = m_pConnection->Open("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=mysql;USER=root; PASSWORD=305004;OPTION=3;","","",adModeUnknown);
}
}
catch(exception&)
{
return NULL;
}
lc.push_back(m_pConnection);
vc.push_back(m_pConnection);
return m_pConnection;
}
int main ()
{
}