dbpath=Application.ExecutablePath;
dbpath=dbpath.Substring(0,dbpath.LastIndexOf("//")+1);
dbpath=dbpath+//asd.mdb;
ConnectString="Provider = Microsoft.Jet.OLEDB.4.0;Data Source ="+dbpath;
//压缩原文件路径
string strOleDb=this.ConnectString.Replace("","//")+";Jet OLEDB:Engine Type=5";
//压缩后文件路径
string strNewDb=strOleDb.Replace("ccbvip","ccb_vip");
//ccb_vip短文件路径
string delNewDB=ToShortPathName(dbpath.Replace("","//").Replace("ccbvip","ccb_vip"));
//ccbvip短文件路径
string delOleDB=ToShortPathName(dbpath.Replace("","//"));
//ccb_vip短文件路径(用于重命名的)
string UpdateDB=ToShortPathName(dbpath.Replace("","//").Replace("ccbvip","ccb_vip"));
try
{
//删除将要另存的文件
if(delNewDB.Length>1)
{
Process.Start( "cmd", "/c " + "del "+delNewDB);
MessageBox.Show("短文件路径:"+delNewDB);
}
//定义jro对象
JRO.JetEngine jet=new JRO.JetEngineClass();
//压缩另存
jet.CompactDatabase(strOleDb,strNewDb);//生成了2个文件 一新一旧
//取旧文件名及路径 先删除旧的
Process.Start( "cmd", "/c " + "del "+delOleDB);
MessageBox.Show("delOleDB:"+delOleDB);
//把新文件名改名发送
//修改文件名ccb_vip-->ccbvip
Process.Start( "cmd", "/c " + "ren "+UpdateDB+" ccbvip.mdb");
MessageBox.Show("更新的文件:"+UpdateDB);