首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:
#import "c:/Program Files/Common Files/system/ado/msadox.dll"
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF")
然后在任意事件中加入
// TODO: 在此添加控件通知处理程序代码
HRESULT hr = S_OK;
//定义数据库的路径
CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = d://test.mdb"));
AfxOleInit();
try
{
ADOX::_CatalogPtr m_pCatalog = NULL;
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
if(FAILED(hr))
{
_com_issue_error(hr);
}
else
{
m_pCatalog->Create(_bstr_t(strcnn)); //创建MDB文件
}
}catch(_com_error &e)
{
AfxMessageBox(_T("error"));
}