.: Compile Failed :.
寫程序就是在創(chuàng)造世界 條新通知 登錄 注冊 歡迎 退出 我的博客 配置 寫文章 文章管理 博客首頁 全站 當前博客 空間 博客 好友 相冊 留言 用戶操作 [留言] [發(fā)消息] [加為好友] BigBugID:aniven 共59684次訪問,,排名2542,好友2人,,關注者10人,。
BigBug的文章 原創(chuàng) 79 篇 翻譯 0 篇 轉載 17 篇 評論 12 篇 訂閱我的博客 [編輯]aniven的公告 <!--window.location.href="http://www./files/40de2787-8944-11dc-98e0-00142218fc6e/" target="_blank">終端服務客戶端加強版(免費</a> </li> <li class="listitem"> <a href="http://www./files/c76f337a-7f7f-11dc-9740-0014221f3995/" target="_blank">免費MD5編碼器(支持多文件拖放)</a> </li> <li class="listitem"> <a href="http://www./files/a7d6e1f8-82a5-11dc-8fd0-0014221b798a/" target="_blank">最牛的BCB編譯加強工具bcc32pch</a> </li> <li class="listitem"> <a href="http://www./files/7226741c-7d1f-11dc-bd1a-0014221f4662/" target="_blank">懷舊經典 Borland C++ 4.5</a> </li> <li class="listitem"> <a href="http://www./files/064a435c-82a5-11dc-a43b-0014221f3995/" target="_blank">經典懷舊 Turbo C++ 3.0</a> </li> </ul> <!----------------------------> <h3 class="listtitle">天氣預報</h3> <IFRAME WIDTH=189 HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='http://weather.qq.com/inc/ss255.htm'></IFRAME> [編輯]文章分類 C++/BCB開發(fā) Database Delphi Qt 非技術 其他 [編輯]實用網址 中國鐵路網 信息產業(yè)部電子教育中心 全國數(shù)字地圖 報關員資格考試網 報檢員資格考試網 火車時刻點對點查詢 高等教育學歷證書查詢系統(tǒng) 存檔 2009年04月(1) 2009年01月(1) 2008年03月(3) 2007年10月(7) 2007年07月(1) 2007年06月(4) 2007年05月(2) 2006年12月(1) 2006年11月(1) 2006年09月(3) 2006年06月(2) 2006年05月(4) 2006年03月(3) 2005年12月(39) 2005年08月(3) 2005年05月(4) 2005年04月(2) 2005年03月(9) 2004年12月(3) 2004年09月(3) 如何壓縮Access數(shù)據(jù)庫 收藏 Microsoft的Access繼承了一些FoxBase DBF的特點,個人估計是DBF的改進,,比如FoxBase說在刪除數(shù)據(jù)后其實并沒有真正刪除,,只是加上一個刪除標記,在需要的時候可以用Recall命令恢復這些數(shù)據(jù),,如果想徹底刪除,,首先需要獨占訪問數(shù)據(jù)表,然后使用Pack命令來清除這些已經被刪除的數(shù)據(jù),,可以稱之為“壓縮”數(shù)據(jù)表,。 Access也是一樣,如果是文本和數(shù)字等一般數(shù)據(jù)恐怕不太明顯,,如果是OLE對象,,加入后MDB文件大小會劇增,而在刪除這些數(shù)據(jù)行后文件大小并沒有相應減少,,日積月累這些無用的數(shù)據(jù)不光占用了大量硬盤空間,,而且也會降低數(shù)據(jù)庫的訪問效率,這時已經沒有Pack命令可用了,,但可以使用Access的“壓縮和修復數(shù)據(jù)庫”(在“工具”菜單中)來將那些無用的數(shù)據(jù)清除掉,。如果你的程序使用Access作為數(shù)據(jù)庫,使用菜單命令來“壓縮數(shù)據(jù)庫”肯定是不太合適的,,況且有時候需要自動來完成這個操作,,所以我們需要把它用代碼來完成,,需要調用COM對象的方法,壓縮后的數(shù)據(jù)庫被保存為另外一個文件,,再把原文件刪除(其實Access自己也是這么做的),,代碼如下:
#include "objbase.h" //牽涉到COM對象,必須包含此頭文件
AnsiString srcmdb="c:\\test.mdb"; //原文件名(壓縮之前)
AnsiString destmdb="c:\\test2.mdb"; //目標文件名(壓縮之后) CoInitialize(NULL); //初始化COM對象 AnsiString src = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+srcmdb; //連接字串 AnsiString dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+destmdb; Variant AdoObj = Variant::CreateObject("JRO.JetEngine"); AdoObj.OleProcedure("CompactDatabase",src.c_str(),dest.c_str()); AdoObj.Clear(); CoUninitialize(); DeleteFile(srcmdb) ; //刪除原文件,,如果不放心可以不刪除留個備份,,但需要改名 RenameFile(destmdb,srcmdb); //將壓縮后的文件改成原文件名 本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/aniven/archive/2005/12/30/566237.aspx
|
|