我正在用C ++编写一个类。这是我的代码:
class MyClass
{
private:
ADODB::_RecordsetPtr pConn;
public:
MyClass();
};
MyClass::MyClass()
{
pConn = ADODB::_ConnectionPtr("ADODB.Connection");
// ......
}
问题是,当我尝试将临时ADODB::_ConnectionPtr
对象分配给pConn
时,编译器会抛出异常:Unhandled exception at at 0x75C9C41F in AccessReader.exe: Microsoft C++ exception: _com_error at memory location 0x003AF808.
这是因为ADODB::_ConnectionPtr
对象不可复制吗?
如何解决此问题?
非常感谢提前。
答案 0 :(得分:1)
根据您的代码,您将_RecordsetPtr
设置为_ConnectionPtr
。
以下是其他要检查的事项:
您是否致电CoInitialize或CoInitializeEx?
尝试捕捉异常,看看它在抱怨什么:
catch (_com_error &e) {
std::cerr << e.Description () << std::endl
}