我按 http://www.7880.com/Info/Article-7c8b3d60.html
此方法在新建的MFC工程中添加创建access数据库的代码可以编译运行;
但是按照此上步骤在我原先做的MFC程序中添加创建数据库的代码,编译通不过,代码如下:
//使用ADOX::CatalogPtr来创建mdb文件:
HRESULT hr = S_OK;
CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = d:\\test5.mdb"));
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)
{
// Notify the user of errors if any.
AfxMessageBox(_T("此库已存在"));
}
错误提示如下:
error C2653: 'ADOX' : is not a class or namespace name
error C2065: '_CatalogPtr' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'm_pCatalog'
......
很纠结,差了好多资料没有找到解决的办法,那位大哥帮忙看一下是哪里错了?步骤上的我都做了,只是在已有的程序上添加这些代码又会报错...焦急等待啊!!!
此方法在新建的MFC工程中添加创建access数据库的代码可以编译运行;
但是按照此上步骤在我原先做的MFC程序中添加创建数据库的代码,编译通不过,代码如下:
//使用ADOX::CatalogPtr来创建mdb文件:
HRESULT hr = S_OK;
CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = d:\\test5.mdb"));
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)
{
// Notify the user of errors if any.
AfxMessageBox(_T("此库已存在"));
}
错误提示如下:
error C2653: 'ADOX' : is not a class or namespace name
error C2065: '_CatalogPtr' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'm_pCatalog'
......
很纠结,差了好多资料没有找到解决的办法,那位大哥帮忙看一下是哪里错了?步骤上的我都做了,只是在已有的程序上添加这些代码又会报错...焦急等待啊!!!
#import "c:\Program Files\Common Files\system\ado\msado20.tlb"