求教acess的导入导出 我想在软件运行时把使用的acess数据库导出为*.mdb数据库文件,并且运行中把一个mdb文件替换使用中的数据库,用代码应该如何实现?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是建库的代码,库和数据源建立好之后要导出什么数据是比较容易实现的/////////////////////ACCESSBOOL CDialogExport::CreateDSN(CString strDSN){//创建ACCESS数据库文件并建立临时数据源 CString sPath,sSql,sFileName; int nPos = m_strPath.ReverseFind('\\'); int nLen = m_strPath.GetLength(); sPath = m_strPath.Left(nPos); sFileName = m_strPath.Right(nLen - nPos - 1); BOOL ret; //创建ACCESS文件 CFileStatus fileStatus; if (CFile::GetStatus(m_strPath, fileStatus)) {#ifdef ENGLISH ret = AfxMessageBox("Are you sure to replace the file?",MB_YESNO|MB_ICONQUESTION);#else ret = AfxMessageBox("文件已存在,是否替换该文件?",MB_YESNO|MB_ICONQUESTION);#endif if (IDNO == ret) { return FALSE; } else { CFile::Remove(m_strPath); } } sSql.Format("CREATE_DB=\"%s\" General\0",m_strPath); ret = SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)", sSql); if (!ret) {#ifdef ENGLISH AfxMessageBox("CREATE ACCESS FILE FAILED.", MB_OK|MB_ICONERROR);#else AfxMessageBox("创建数据库文件失败!" , MB_OK|MB_ICONERROR);#endif return FALSE; } //建立ODBC数据源 sSql.Format("DSN=%s;DBQ=%s;DEFAULTDIR=%s\0\0",strDSN,sFileName,sPath); ret = SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN, "Microsoft Access Driver (*.mdb)", sSql); if (!ret) {#ifdef ENGLISH AfxMessageBox("CREATE DSN FAILED.", MB_OK|MB_ICONERROR);#else AfxMessageBox("创建ODBC数据源失败!" , MB_OK|MB_ICONERROR);#endif return FALSE; } return TRUE;} 急!Group Box里一组radio button. 如何设置隐藏不见呢? 关于VS2005下DLL调用,菜鸟求解!! 窗体透明后 自绘png button为何有毛边? >>>>>>>>>>>>我如何给一个进程加上消息钩子???<<<<<<<<<<<<<< 求助大家关于线程的问题! 请问vc++6.0 里面如果显示程序的行数?分不够再给你!~ 串口通信问题,急! 有哪个api函数可以返回一个程序中Tray中的id的值,或者有什么办法可以控制tray的状态,比如删除,修改。 好久没提问了,来者有分! VB+COM+問題 CTabCtrl怎么改标签的颜色 VC编程经验总结8
/////////////////////ACCESSBOOL CDialogExport::CreateDSN(CString strDSN)
{//创建ACCESS数据库文件并建立临时数据源
CString sPath,sSql,sFileName;
int nPos = m_strPath.ReverseFind('\\');
int nLen = m_strPath.GetLength();
sPath = m_strPath.Left(nPos);
sFileName = m_strPath.Right(nLen - nPos - 1);
BOOL ret;
//创建ACCESS文件
CFileStatus fileStatus;
if (CFile::GetStatus(m_strPath, fileStatus)) {
#ifdef ENGLISH
ret = AfxMessageBox("Are you sure to replace the file?",MB_YESNO|MB_ICONQUESTION);
#else
ret = AfxMessageBox("文件已存在,是否替换该文件?",MB_YESNO|MB_ICONQUESTION);
#endif
if (IDNO == ret)
{
return FALSE;
}
else
{
CFile::Remove(m_strPath);
}
}
sSql.Format("CREATE_DB=\"%s\" General\0",m_strPath);
ret = SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)", sSql);
if (!ret)
{
#ifdef ENGLISH
AfxMessageBox("CREATE ACCESS FILE FAILED.", MB_OK|MB_ICONERROR);
#else
AfxMessageBox("创建数据库文件失败!" , MB_OK|MB_ICONERROR);
#endif
return FALSE;
}
//建立ODBC数据源
sSql.Format("DSN=%s;DBQ=%s;DEFAULTDIR=%s\0\0",strDSN,sFileName,sPath);
ret = SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,
"Microsoft Access Driver (*.mdb)", sSql);
if (!ret)
{
#ifdef ENGLISH
AfxMessageBox("CREATE DSN FAILED.", MB_OK|MB_ICONERROR);
#else
AfxMessageBox("创建ODBC数据源失败!" , MB_OK|MB_ICONERROR);
#endif
return FALSE;
}
return TRUE;
}