C++ 使用DAO获取Access数据库的副本ID

C++ 使用DAO获取Access数据库的副本ID,c++,C++,我最近将一个MFC项目从VS6移植到VS2005。VS6项目链接了ddao35d.lib(DAO 3.5),它不再与VS2005中使用的“新”MFC兼容。为了解决这个问题,我现在加入了afxdao.h,并按照其他帖子的建议,将我的数据库类从CdbDatabase更改为CDaoDatabase:- 但是,CdbDatabase中有一个名为GetReplicaID()的成员函数,它不再位于CDaoDatabase中。有人知道如何使用CDaoDatabase类或其他方法获取Access数据库的副本I

我最近将一个MFC项目从VS6移植到VS2005。VS6项目链接了ddao35d.lib(DAO 3.5),它不再与VS2005中使用的“新”MFC兼容。为了解决这个问题,我现在加入了afxdao.h,并按照其他帖子的建议,将我的数据库类从
CdbDatabase
更改为
CDaoDatabase
:-

但是,
CdbDatabase
中有一个名为
GetReplicaID()
的成员函数,它不再位于
CDaoDatabase
中。有人知道如何使用
CDaoDatabase
类或其他方法获取Access数据库的副本ID吗

以下是该职位的重要练习:-

VisualC++ C++环境和向导不再支持DAO(尽管DAO类被包含在其中,你仍然可以使用它们)。微软建议你使用OLE DB模板或ODBC来进行新项目。你只应该使用DAO来维护现有的应用程序。

DAO MFC库(包括ddao35d.lib)是PlatformSDK的一部分,与新的MFC不兼容。您需要#包括,它将链接daouuid.lib。”


“添加和daouuid.lib是一个诀窍。另外:将CDBLoLeError的声明更改为CDaoErrorInfo。CDBLoLeError仍在,但显然不再在ddao35.lib中。更改为CDaoErrorInfo并添加daouuid.lib链接已更正了链接器错误。”

我找到了解决方案。。您可以通过CDaoDatabase类中的m_pDAODatabase成员直接访问DAO。例如:

CDaoDatabase dbDatabase;
COleVariant varReplicaID( "", VT_BSTRT );
HRESULT hr;
hr = dbDatabase.m_pDAODatabase->get_ReplicaID(& V_BSTR(&varReplicaID) );
有关更多详细信息,请参阅


你为什么要发布一个问题的链接,要求观众成为该网站的成员?请将您的问题与链接中的详细信息联系起来。