2011-08-31 63 views
3

我最近將一個MFC項目窗體VS6移植到VS2005。 VS6項目鏈接ddao35d.lib(DAO 3.5),它不再與VS2005中使用的'新'MFC兼容。爲了解決這個問題,現在我包括afxdao.h和改變我的數據庫類從CdbDatabaseCDaoDatabase所推薦的其他職位: -使用DAO獲取Access數據庫的副本ID

http://www.experts-exchange.com/Programming/Languages/CPP/Q_22465486.html

然而,在CdbDatabase一個成員函數調用GetReplicaID()這是不再在CDaoDatabase。有誰知道如何使用CDaoDatabase類或其他方式獲取Access數據庫的副本ID?

以下是該職位的重要exerpts: -

「的Visual C++ .NET中,Visual C++環境和嚮導不再支持DAO(雖然DAO類都包含,你仍然可以使用它們) Microsoft建議您在新項目中使用OLE DB模板或ODBC,您應該只使用DAO維護現有應用程序

DAO MFC庫(包括ddao35d.lib)是PlatformSDK的一部分,不兼容新MFC,你需要#include,它會鏈接daouuid.lib。「在ddao35.lib改變CdbLastOLEError TO CDaoErrorInfo聲明中的CdbLastOLEError仍然在,但顯然不再更改爲:

...

「添加和daouuid.lib是招PLUS。 CDaoErrorInfo和鏈接增加了daouuid.lib已糾正鏈接器錯誤。「

+0

你爲什麼要張貼一個鏈接到需要的觀衆是網站的成員的問題嗎?請提供您的問題與鏈接的詳細信息。 – Taryn

回答

0

我找到了解決方案..您可以通過CDaoDatabase類中的m_pDAODatabase成員直接訪問DAO。 EG: -

CDaoDatabase dbDatabase; 
COleVariant varReplicaID("", VT_BSTRT); 
HRESULT hr; 
hr = dbDatabase.m_pDAODatabase->get_ReplicaID(& V_BSTR(&varReplicaID)); 

欲瞭解更多詳情,請參閱

http://msdn.microsoft.com/en-us/library/1s0dx3s7.aspx