创建ACCESS数据库问题? 除了用DAO方法还有其它的方法没有? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是连接数据库.CDaoDatabase db;db.Create(_T("C:\\Sample.mdb"),dbLangGeneral,dbVersion30);不用这个 void tagCfgInfo::CreateDB(){ TCHAR caBuf[256]={0}; CString strFn=_T("./WizABC_CA.INI"); ::GetPrivateProfileString("DB","SPOOLDB","spooling.mdb",caBuf, sizeof(caBuf)/sizeof(TCHAR),strFn); ::DeleteFile(caBuf); // TODO: Add your command handler code here try { ADOX::_CatalogPtr pCat; pCat.CreateInstance(__uuidof(ADOX::Catalog)); _bstr_t strcnn("Provider=Microsoft.JET.OLEDB.4.0;" "Data source ="); strcnn+=_bstr_t(caBuf); pCat->Create(strcnn);//create the MDB pCat=NULL;//close it ADODB::_ConnectionPtr pConn; pConn.CreateInstance(__uuidof(ADODB::Connection)); pConn->Open(strcnn,"","",-1); _bstr_t bstrCmd= "CREATE TABLE SpoolData (ID int IDENTITY(1,1),UID int NOT NULL, " "Type int NOT NULL, DataPack image NOT NULL,SpoolDate datetime NOT NULL,Status int NOT NULL)"; pConn->Execute(bstrCmd,NULL,ADODB::adCmdText); pConn=NULL; } catch(_com_error &e) { TRACE("DBError:[%s][%s]!\n",(LPCSTR)e.Source(),(LPCSTR)e.Description()); }} 谢谢楼上!我也想到用ADOX,但没看资料。 附带问一下,为什么这样会出现错误.Appcore.CppCDaoDatabase db;db.Create(_T("C:\\test.mdb"),dbLangGeneral,dbVersion30);我在COM中使用的 HRESULT CreateAccessDatabase(LPCTSTR lpszPathName){ USES_CONVERSION; try { HRESULT hr; CLSID clsid; CComPtr< IDBDataSourceAdmin > m_spDataSourceAdmin; CDBPropSet dbinit(DBPROPSET_DBINIT); hr = CLSIDFromProgID(T2COLE("Microsoft.JET.OLEDB.4.0"), &clsid); if (FAILED(hr)) return hr; m_spDataSourceAdmin.Release(); hr = CoCreateInstance( clsid ,NULL,CLSCTX_INPROC_SERVER, IID_IDBDataSourceAdmin,(void**)& m_spDataSourceAdmin ); if( FAILED(hr)) return hr; dbinit.AddProperty(DBPROP_INIT_DATASOURCE, T2OLE(lpszPathName)); hr = m_spDataSourceAdmin->CreateDataSource( 1, &dbinit, NULL, IID_ISourcesRowset,NULL ); if( FAILED(hr) ) return hr; m_spDataSourceAdmin.Release(); } catch(_com_error e)///捕捉异常 { WriteLog(CheckLastError()); return S_FALSE; } return S_OK;} 关于WebBrowser控件的 vs2010定义下面的宏怎么不行?//#if (int)sizeof(int) == 4 如何通过载入的ActiveX来在当前IE进程中创建一个自定义行为的“永久性”线程? 哈哈,升星,散分,三天内结贴,多来多送!!!!!! 急求教关于V C++权限的问题 AWE的例子有人用过吗? 用谭浩强教材学习C语言,最后两章"文件的使用"和"综合应用"都学还是只学习其中一部分? 一个有关文件流的问题 msdn error!!?? 求助一个TreeCtrl的问题 如何编程实现数据库的差异备份?固定时间段备份? ado+sql200如何获得查询的进度?
db.Create(_T("C:\\Sample.mdb"),dbLangGeneral,dbVersion30);
不用这个
{
TCHAR caBuf[256]={0};
CString strFn=_T("./WizABC_CA.INI");
::GetPrivateProfileString("DB","SPOOLDB","spooling.mdb",caBuf,
sizeof(caBuf)/sizeof(TCHAR),strFn);
::DeleteFile(caBuf); // TODO: Add your command handler code here
try
{
ADOX::_CatalogPtr pCat;
pCat.CreateInstance(__uuidof(ADOX::Catalog));
_bstr_t strcnn("Provider=Microsoft.JET.OLEDB.4.0;"
"Data source =");
strcnn+=_bstr_t(caBuf);
pCat->Create(strcnn);//create the MDB
pCat=NULL;//close it
ADODB::_ConnectionPtr pConn;
pConn.CreateInstance(__uuidof(ADODB::Connection));
pConn->Open(strcnn,"","",-1);
_bstr_t bstrCmd=
"CREATE TABLE SpoolData (ID int IDENTITY(1,1),UID int NOT NULL, "
"Type int NOT NULL, DataPack image NOT NULL,SpoolDate datetime NOT NULL,Status int NOT NULL)";
pConn->Execute(bstrCmd,NULL,ADODB::adCmdText);
pConn=NULL;
}
catch(_com_error &e)
{
TRACE("DBError:[%s][%s]!\n",(LPCSTR)e.Source(),(LPCSTR)e.Description());
}
}
db.Create(_T("C:\\test.mdb"),dbLangGeneral,dbVersion30);我在COM中使用的
{
USES_CONVERSION;
try
{
HRESULT hr;
CLSID clsid;
CComPtr< IDBDataSourceAdmin > m_spDataSourceAdmin; CDBPropSet dbinit(DBPROPSET_DBINIT); hr = CLSIDFromProgID(T2COLE("Microsoft.JET.OLEDB.4.0"), &clsid); if (FAILED(hr))
return hr;
m_spDataSourceAdmin.Release(); hr = CoCreateInstance( clsid ,NULL,CLSCTX_INPROC_SERVER, IID_IDBDataSourceAdmin,(void**)& m_spDataSourceAdmin );
if( FAILED(hr))
return hr;
dbinit.AddProperty(DBPROP_INIT_DATASOURCE, T2OLE(lpszPathName)); hr = m_spDataSourceAdmin->CreateDataSource( 1, &dbinit, NULL, IID_ISourcesRowset,NULL );
if( FAILED(hr) )
return hr;
m_spDataSourceAdmin.Release();
}
catch(_com_error e)///捕捉异常
{
WriteLog(CheckLastError());
return S_FALSE;
}
return S_OK;
}