亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#壓縮Access數據庫的方法是什么

發布時間:2021-12-01 13:56:24 來源:億速云 閱讀:336 作者:iii 欄目:編程語言

這篇文章主要介紹“C#壓縮Access數據庫的方法是什么”,在日常操作中,相信很多人在C#壓縮Access數據庫的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#壓縮Access數據庫的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

不知你是否也厭煩了在工程中加入復雜的COM庫引用,但我相信這個純.NET代碼將省去額外的交互操作, RCWs和COM引用.基本上,由于系統中安裝的Microsoft類庫的不同(例如:MS Office Object Library 9,10,11等等),我們也不知道用戶PC中安裝的Office版本,所以我們要通過ProgID來訪問COM對象,而不能用CLSID.例如,當調用"Excel.Application",時,得到的是Excel,而不管系統中安裝MS Office的版本,當在代碼中加入"MS Excel 10 Object library"引用時,其實只是給應用程序加入了一個非常受限制的功能.所以我們使用System.Reflection和遲綁定.

1. 實例代碼

只需調用CompactAccessDB函數即可壓縮和修復目標數據庫.

2. 參數:
◆connectionString – 用來連接到Access數據庫.
◆mdwfilename –要壓縮的MDB文件的全名(路徑+文件名).

由于Jet引擎的限制,執行此方法C#壓縮Access數據庫會把結果生成為一個新文件,所以我們要還需要把這個新的Access文件拷貝到目的位置覆蓋原來未壓縮文件.

當調用此方法時請確認被壓縮數據庫無打開的連接.

代碼如下:

/// <summary> /// MBD compact method (c) 2004 Alexander Youmashev  /// !!IMPORTANT!!  /// !make sure there's no open connections  ///to your db before calling this method!  /// !!IMPORTANT!!  /// </summary> /// <param name="connectionString">connection string to your db</param> /// <param name="mdwfilename">FULL name  /// of an MDB file you want to compress.</param> public static void CompactAccessDB(string connectionString, string mdwfilename)  {  object[] oParams;   //create an inctance of a Jet Replication Object  object objJRO =  Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"));   //filling Parameters array  //cnahge "Jet OLEDB:Engine Type=5" to an appropriate value  // or leave it as is if you db is JET4X format (access 2000,2002)  //(yes, jetengine5 is for JET4X, no misprint here)  oParams = new object[] {  connectionString,  "Provider=Microsoft.Jet.OLEDB.4.0;Data" +  " Source=C:\\tempdb.mdb;Jet OLEDB:Engine Type=5"};   //invoke a CompactDatabase method of a JRO object  //pass Parameters array  objJRO.GetType().InvokeMember("CompactDatabase",  System.Reflection.BindingFlags.InvokeMethod,  null,  objJRO,  oParams);   //database is compacted now  //to a new file C:\\tempdb.mdw  //let's copy it over an old one and delete it   System.IO.File.Delete(mdwfilename);  System.IO.File.Move("C:\\tempdb.mdb", mdwfilename);   //clean up (just in case)  System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO);  objJRO=null;  }

到此,關于“C#壓縮Access數據庫的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张北县| 日土县| 木里| 喀喇沁旗| 垦利县| 普宁市| 西充县| 双流县| 安化县| 登封市| 通辽市| 延安市| 麻栗坡县| 鹤峰县| 广宗县| 申扎县| 三明市| 武义县| 吉隆县| 务川| 潍坊市| 昆明市| 河北省| 石台县| 汉寿县| 儋州市| 铜梁县| 改则县| 道孚县| 开阳县| 济宁市| 泸州市| 武城县| 浦北县| 青岛市| 虹口区| 安阳市| 五寨县| 花莲县| 常宁市| 襄城县|