当前位置: 代码迷 >> 综合 >> vc+ado创建access数据库
  详细解决方案

vc+ado创建access数据库

热度:88   发布时间:2024-01-21 21:40:51.0

1.首先在stdafx.h文件中加入:
#pragma warning (disable: 4146)
#import "C:/Program Files/Common Files/system/ado/msadox.dll"
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
#pragma warning (default: 4146)

2.由于ado是com组件,因此使用ado之前还要初始化com环境,一般在pp的initInstance()中加入:
aCoInitialize(NULL);

3.在此直接给出函数实例(参数为mdb文件路径):
BOOL CreateAccess(CString Path)
{
 //在指定路径下创建一个空的access数据库
 //使用ADOX::CatalogPtr来创建mdb文件:

 HRESULT hr = S_OK;
 CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = "));
 strcnn+=Path;
 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)); //Create MDB
   
  }
  
 }
 
 catch(_com_error &e)
  
 {
  
  
  AfxMessageBox(_T(e.Description()));
  
 }
 
 return true;
}

  相关解决方案