当前位置:   article > 正文

关于MFC中数据库操作中遇到的问题:Microsoft C++ 在xxx内存处出现问题_com_error的另一解决方案_microsoft c++ 异常: _com_error,位于内存位置

microsoft c++ 异常: _com_error,位于内存位置

首先,描述一下我遇到的问题:我自己封装ADO,将其封装成数据库操作类,在调用连接函数没有问题,是连接上Access数据库的,但我在调用查询或者插入等操作函数时问题出现了,出现的就是标题中的问题,在网上找了很久没有跟我相同情况的,今晚我解决了这个问题,所以想和大家分享一下,希望可以帮到大家。

我的问题出现的原因:是因为在不同函数中所用的类不是一个对象。假设我我的类如下:

class A

{

public:

    bool connect();

    int insert();

//其他成员函数以及数据成员省略

}

我在初始化函数中创建了一个对象:A   a; 然后运行 a.connect();连接上了数据库,我在另外一个cpp文件里面要调用insert(),又创建了一个对象:A  b;然后b.insert();这时候运行程序就出现了问题。


解决方案:这里需要将类封装为单例类。(关于单例类可以自己百度,找一个带程序的看懂就行)。这里提供一个链接http://blog.csdn.net/boyxiaolong/article/details/6645681

封装成单例类后,在整个工程中使用对象都是唯一一个实例,这个问题便迎刃而解。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/143550
推荐阅读
相关标签
  

闽ICP备14008679号