是否可以使用ADODB :: _ RecordsetPtr对象作为成员数据?

时间:2013-08-22 16:07:51

标签: c++ memory ado

我正在用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对象不可复制吗?

如何解决此问题?

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

根据您的代码,您将_RecordsetPtr设置为_ConnectionPtr

以下是其他要检查的事项:

您是否致电CoInitializeCoInitializeEx

尝试捕捉异常,看看它在抱怨什么:

catch (_com_error &e) {
    std::cerr << e.Description () << std::endl
}