1. 程式人生 > >關於MFC中資料庫操作中遇到的問題:Microsoft C++ 在xxx記憶體處出現問題_com_error的另一解決方案

關於MFC中資料庫操作中遇到的問題:Microsoft C++ 在xxx記憶體處出現問題_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

封裝成單例類後,在整個工程中使用物件都是唯一一個例項,這個問題便迎刃而解。