|
马上注册并关注水世界微信号,获得更多资料
您需要 登录 才可以下载或查看,没有帐号?注册
扫一扫,用微信登录
x
在AO开发的过程中,常常需要动态的创建Access数据库.笔者自己写了一个可以动态创建Access的类CCreateAccessDB,核心的函数为CreateMdb:
函数声明:BOOL CreateMdb(CString strDataBase);
函数体 :
{
HRESULT hr = S_OK;
//Set ActiveConnection of Catalog to this string
CString strcnn="Provider=Microsoft.JET.OLEDB.4.0;Data source = ";
strcnn+=strDataBase; 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("错误!");
}
return FALSE;
}
说明:1 需要在工程中加入msadox.dll,这样才能使用ADOX命名空间的各个功能函数.在加入msadox.dll后,在你的工程中会载入一个msadox.tlh文件,该文件类似于c++里面的头文件,有了此文件,就可以使用ADOX下的函数了.
2 关于ADOX:当然,并不是一定要用ADOX的命名空间,关键是看msadox.tlh文件中是否声明该命名空间,即namespace ADOX:{...... }.
3 实现该功能的关键是msadox.dll的添加和ADOX名称空间下各个函数的正确使用. |
|