在程序里如何创建.mdb文件

9527他大爷 2007-07-02 08:50:39
在程序里如何创建.mdb文件,并向里面写数据,请高手指点,谢谢
...全文
802 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanoo 2007-07-24
  • 打赏
  • 举报
回复
上面的代码为什么不能建立mdb文件呢?总是捕获到异常
nanoo 2007-07-24
  • 打赏
  • 举报
回复
void CMainFrame::OnSaveEchoData()
{
HRESULT hr = S_OK;
hr = ::CoInitialize(NULL);
if(SUCCEEDED(hr))
{
CreateDatabaseX();
::CoUninitialize();
}
}

void CreateDatabaseX()
{
HRESULT hr = S_OK;
ADOX::_CatalogPtr m_pCatalog = NULL;
_bstr_t strcnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= G:\test.mdb";
try
{
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
if(FAILED(hr))
_com_issue_error(hr);
else
m_pCatalog->Create(strcnn);
}
catch(_com_error &e)
{
// Notify the user of errors if any.
AfxMessageBox("error happens");
}
}
zagile 2007-07-24
  • 打赏
  • 举报
回复
总是捕获到异常--那就看看异常是什么,

G:\test.mdb?
david2083 2007-07-24
  • 打赏
  • 举报
回复
事先弄好一个空的mdb,需要创建mdb的时候把那个空mdb copy一份
lyg_zy 2007-07-07
  • 打赏
  • 举报
回复
up
flight_lcf 2007-07-07
  • 打赏
  • 举报
回复
inline void TESTHR(HRESULT x) {if FAILED(x) throw (x);};

_CatalogPtr pCatalog = NULL;
try
{
TESTHR(hr = pCatalog.CreateInstance(__uuidof (Catalog)));
VARIANT vt;
VariantInit(&vt);
HRESULT hr = pCatalog->Create(bstrConn, &vt);
VariantClear(&vt);// 这一句是必须的,否则创建的文件直接打开的话,然后写入数据占用空间会特别大
}
catch(...)
{
return E_FAIL;
}
return hr;
flight_lcf 2007-07-07
  • 打赏
  • 举报
回复
_CatalogPtr pCatalog = NULL;
try
{
hr = pCatalog.CreateInstance(__uuidof (Catalog));
VARIANT vt;
VariantInit(&vt);
HRESULT hr = pCatalog->Create(bstrConn, &vt);
吴双1983 2007-07-06
  • 打赏
  • 举报
回复
查看msdn DAO 的使用。。非常简单。创建mdb文件
9527他大爷 2007-07-05
  • 打赏
  • 举报
回复
#import "c:\Program Files\Common Files\system\ado\msadox.dll"

void createmdbFIle()
{
::CoInitialize(NULL);
ADOX::_CatalogPtr pCatalog(__uuidof(ADOX::Catalog));
_bstr_t str="Provider=Microsoft.Jet.OLEDB.4.0;data source=test.mdb";
try
{
pCatalog->Create(str); //创建数据库
}
catch(_com_error &e)
{
//错误处理
}
}
小麻侬 2007-07-04
  • 打赏
  • 举报
回复
Up
taianmonkey 2007-07-04
  • 打赏
  • 举报
回复
void CDatabaseProcessCls::AutoCreateDatabase(LPTSTR tcDatabase)
{
using namespace ADOX;

_CatalogPtr m_pCatalog;
m_pCatalog.CreateInstance(__uuidof(Catalog));
CString strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data source = ";
strConnection += tcDatabase;
strConnection += _T(";Jet OLEDB:Database Password=");
strConnection += DATABASEPASS;
if(!PathFileExists(tcDatabase))
m_pCatalog->Create(_bstr_t(strConnection));

using namespace ADO;//
}
9527他大爷 2007-07-02
  • 打赏
  • 举报
回复
急呀,求高手指点

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧