|
.: Compile Failed :.
寫(xiě)程序就是在創(chuàng)造世界 條新通知 登錄 注冊(cè) 歡迎 退出 我的博客 配置 寫(xiě)文章 文章管理 博客首頁(yè) 全站 當(dāng)前博客 空間 博客 好友 相冊(cè) 留言 用戶(hù)操作 [留言] [發(fā)消息] [加為好友] BigBugID:aniven 共59684次訪(fǎng)問(wèn),排名2542,好友2人,關(guān)注者10人。
BigBug的文章 原創(chuàng) 79 篇 翻譯 0 篇 轉(zhuǎn)載 17 篇 評(píng)論 12 篇 訂閱我的博客 [編輯]aniven的公告 <!--window.location.href="http://www./files/40de2787-8944-11dc-98e0-00142218fc6e/" target="_blank">終端服務(wù)客戶(hù)端加強(qiáng)版(免費(fèi)</a> </li> <li class="listitem"> <a href="http://www./files/c76f337a-7f7f-11dc-9740-0014221f3995/" target="_blank">免費(fèi)MD5編碼器(支持多文件拖放)</a> </li> <li class="listitem"> <a href="http://www./files/a7d6e1f8-82a5-11dc-8fd0-0014221b798a/" target="_blank">最牛的BCB編譯加強(qiáng)工具bcc32pch</a> </li> <li class="listitem"> <a href="http://www./files/7226741c-7d1f-11dc-bd1a-0014221f4662/" target="_blank">懷舊經(jīng)典 Borland C++ 4.5</a> </li> <li class="listitem"> <a href="http://www./files/064a435c-82a5-11dc-a43b-0014221f3995/" target="_blank">經(jīng)典懷舊 Turbo C++ 3.0</a> </li> </ul> <!----------------------------> <h3 class="listtitle">天氣預(yù)報(bào)</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> [編輯]文章分類(lèi) C++/BCB開(kāi)發(fā) Database Delphi Qt 非技術(shù) 其他 [編輯]實(shí)用網(wǎng)址 中國(guó)鐵路網(wǎng) 信息產(chǎn)業(yè)部電子教育中心 全國(guó)數(shù)字地圖 報(bào)關(guān)員資格考試網(wǎng) 報(bào)檢員資格考試網(wǎng) 火車(chē)時(shí)刻點(diǎn)對(duì)點(diǎn)查詢(xún) 高等教育學(xué)歷證書(shū)查詢(xún)系統(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ù)庫(kù) 收藏 Microsoft的Access繼承了一些FoxBase DBF的特點(diǎn),個(gè)人估計(jì)是DBF的改進(jìn),比如FoxBase說(shuō)在刪除數(shù)據(jù)后其實(shí)并沒(méi)有真正刪除,只是加上一個(gè)刪除標(biāo)記,在需要的時(shí)候可以用Recall命令恢復(fù)這些數(shù)據(jù),如果想徹底刪除,首先需要獨(dú)占訪(fǎng)問(wèn)數(shù)據(jù)表,然后使用Pack命令來(lái)清除這些已經(jīng)被刪除的數(shù)據(jù),可以稱(chēng)之為“壓縮”數(shù)據(jù)表。 Access也是一樣,如果是文本和數(shù)字等一般數(shù)據(jù)恐怕不太明顯,如果是OLE對(duì)象,加入后MDB文件大小會(huì)劇增,而在刪除這些數(shù)據(jù)行后文件大小并沒(méi)有相應(yīng)減少,日積月累這些無(wú)用的數(shù)據(jù)不光占用了大量硬盤(pán)空間,而且也會(huì)降低數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)效率,這時(shí)已經(jīng)沒(méi)有Pack命令可用了,但可以使用Access的“壓縮和修復(fù)數(shù)據(jù)庫(kù)”(在“工具”菜單中)來(lái)將那些無(wú)用的數(shù)據(jù)清除掉。如果你的程序使用Access作為數(shù)據(jù)庫(kù),使用菜單命令來(lái)“壓縮數(shù)據(jù)庫(kù)”肯定是不太合適的,況且有時(shí)候需要自動(dòng)來(lái)完成這個(gè)操作,所以我們需要把它用代碼來(lái)完成,需要調(diào)用COM對(duì)象的方法,壓縮后的數(shù)據(jù)庫(kù)被保存為另外一個(gè)文件,再把原文件刪除(其實(shí)Access自己也是這么做的),代碼如下:
#include "objbase.h" //牽涉到COM對(duì)象,必須包含此頭文件
AnsiString srcmdb="c:\\test.mdb"; //原文件名(壓縮之前)
AnsiString destmdb="c:\\test2.mdb"; //目標(biāo)文件名(壓縮之后) CoInitialize(NULL); //初始化COM對(duì)象 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) ; //刪除原文件,如果不放心可以不刪除留個(gè)備份,但需要改名 RenameFile(destmdb,srcmdb); //將壓縮后的文件改成原文件名 本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/aniven/archive/2005/12/30/566237.aspx
|
|
|
來(lái)自: 浪漫小明 > 《電腦維護(hù)》