MFC数据库操作
实现一个备份的功能:对fas.mdb文件复制因为在程序中有保持对数据库的连接
所以想在备份之前关闭连接,复制完成之后再打开
但是复制完之后就打不开连接了,注释掉复制是可以的,请问下这是为什么
复制是做成一个函数的
BOOL CFasSysManaDlg::CommonCopyFile(CString SourceFileName, CString DestFileName){ CFile sourceFile ; CFile destFile ; CFileException ex; if (!sourceFile.Open((LPCTSTR)SourceFileName,CFile::modeRead | CFile::shareDenyWrite, &ex)) { TCHAR szError[1024]; ex.GetErrorMessage(szError, 1024); CString ErrorMsg = "打开文件:" ; ErrorMsg += SourceFileName ; ErrorMsg += "失败。\n错误信息为:\n" ; ErrorMsg += szError ; AfxMessageBox(ErrorMsg); return FALSE ; } else { if (!destFile.Open((LPCTSTR)DestFileName, CFile::modeWrite | CFile::shareExclusive | CFile::modeCreate, &ex)) { TCHAR szError[1024]; ex.GetErrorMessage(szError, 1024); CString ErrorMsg = "创建文件:" ; ErrorMsg += DestFileName ; ErrorMsg += "失败。\n错误信息为:\n" ; ErrorMsg += szError ; AfxMessageBox(ErrorMsg); sourceFile.Close(); return FALSE ; } BYTE buffer[4096]; DWORD dwRead; do { dwRead = sourceFile.Read(buffer, 4096); destFile.Write(buffer, dwRead); } while (dwRead > 0); destFile.Close(); sourceFile.Close(); } return TRUE ;}