关于ACCESS 数据库备份的问题
本人编了一个基于 access 的数据库系统,现在想加一个数据备份与还原功能但文件中表比较多,我现在用的方法是 :
把数据库中的每个表都用 VC 读取出来,保存到 文件流中
像下面的格式
// 备份入库单数据
CString strSql;
strSql.Format("SELECT * FROM rkddata");
HRESULT hr = pApp->m_pRecordset->Open(strSql.AllocSysString(),
pApp->m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
while(!pApp->m_pRecordset->adoEOF)
{
CString km=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("km"));
CString yqno=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("yqno"));
CString num=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("num"));
CString valus=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("valus"));
// 保存到文件流...
pApp->m_pRecordset->MoveNext();
}
pApp->m_pRecordset->Close();
// 备份出库单数据
strSql.Format("SELECT * FROM ckddata");
hr = pApp->m_pRecordset->Open(strSql.AllocSysString(),
pApp->m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
while(!pApp->m_pRecordset->adoEOF)
{
CString km=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("km"));
CString yqno=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("yqno"));
CString num=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("num"));
CString valus=(char*)(_bstr_t)pApp->m_pRecordset->GetCollect(_variant_t("valus"));
// 保存到文件流...
pApp->m_pRecordset->MoveNext();
}
pApp->m_pRecordset->Close();
因为表格比较多写起来麻烦
请问哪位有更好的办法,不需要这么复杂的