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

Is it possible to use ADODB::_RecordsetPtr object as member data?

本文关键字:成员 数据 对象 可以使 ADODB 是否 RecordsetPtr      更新时间:2023-10-16

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

如何解决此问题?

非常感谢。

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

以下是其他需要检查的内容:

您是否调用了CoInitialize或CoInitializeEx?

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

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