关闭

c#.net 中压缩access并且更名

标签: accessstringcmd
1026人阅读 评论(0) 收藏 举报
分类:

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);

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:100383次
    • 积分:1483
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:20篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论