遇到乙個問題,使用的是accesss資料庫,在載入資料庫中的資訊的時候,速度特別慢,有時候一次查詢最終會卡15秒左右,然後才能得到結果,跟蹤發現卡的地方在sqlexecdirect中,已經是odbc api了。開啟資料庫看也沒發現啥問題,後來點了access上邊的 「壓縮和修復資料庫」工具,資料庫從原來的 8m 瞬間變成了 800k ,使用壓縮後的資料庫時速度就特別快了,不知道是不是access資料庫的啥毛病,記錄下壓縮用到的**:
關鍵**:
cdaoworkspace dao;
//將 properties.mdb 壓縮為 properties_comp.mdb
dao.compactdatabase(g_currentpath + "properties.mdb",g_currentpath + "properties_comp.mdb");
壓縮之後替換原來的檔案,完整**:
void cloginpassworddlg::compactdatabase()
if(finder.findfile(g_currentpath + "properties.mdb"))}}
catch(...)
try}
catch(...)
}
需要包含標頭檔案:
#include
"afxdao.h"
C 壓縮Access資料庫
壓縮資料庫 資料庫鏈結 要壓縮的mdb檔案的全名 static void compactaccessdb string dbfilename objjro.gettype invokemember compactdatabase system.reflection.bindingflags.invo...
Delphi 壓縮Access資料庫
由於access資料庫在反覆使用過程中會自動增大,delphi壓縮access資料庫的簡單方法如下 首先要引用comobj單元 function tform1.compac b const dbfile,pwd string boolean var tempdbfile string constr ...
壓縮access資料庫的方法。
stdafx.h import c program files common files system ado msjro.dll no namespace cstring strold cstring strnew char str3 1024 strold.format provider mic...