因為從C#內刪除資料後, 只是暫時的刪除, 所以你會看到一個什麼資料都沒有的DB還有100多MB的大小..所以DELETE後要從程式中再進行處理
首先先引用
using System.IO;
using JRO;
接下來在程式裡撰寫以下程式
string mdbPath = "C:\\DB_EQP.mdb";//資料庫路徑
if( !File.Exists(mdbPath) ) //检查数据库是否已存在
{
throw new Exception("資料庫不存在,無法壓縮");
}
//定義臨資料庫名稱
string temp = DateTime.Now.ToString("HH:mm:ss") + ".bak";
temp = temp.Split(':')[0].ToString() + temp.Split(':')[1].ToString() + temp.Split(':')[2].ToString();
temp = mdbPath.Substring(0, mdbPath.LastIndexOf("\\")+1) + temp;
//定義臨時資料庫路徑連接字串
string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
//定義目標資料庫路徑連接字串
string mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath;
//新增一個JetEngineClass物件
JRO.JetEngineClass jt = new JRO.JetEngineClass();
//使用JetEngineClass物件的CompactDatabase方法壓縮資料庫
jt.CompactDatabase( mdbPath2, temp2 );
//覆蓋原本資料庫
File.Copy( temp, mdbPath, true );
//刪除臨時資料庫
File.Delete( temp );
2011年8月25日 星期四
2011年8月9日 星期二
[C#]開啟EXE檔並輸入EXE檔的參數
先USING System.Diagnostics;
在程式裡放入下列程式
System.Diagnostics.Process.Start("路徑", "參數");
在程式裡放入下列程式
System.Diagnostics.Process.Start("路徑", "參數");
2011年8月2日 星期二
訂閱:
文章 (Atom)