91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

临汾市| 三河市| 凤山县| 新和县| 隆林| 灵台县| 江油市| 登封市| 随州市| 政和县| 朔州市| 获嘉县| 晋城| 镇平县| 墨江| 乡宁县| 惠安县| 昌吉市| 牡丹江市| 志丹县| 新源县| 公主岭市| 北流市| 察隅县| 呼图壁县| 丰镇市| 乾安县| 东乡县| 江阴市| 都兰县| 九寨沟县| 星子县| 新竹市| 德保县| 公主岭市| 宝坻区| 普宁市| 霍邱县| 红桥区| 兰考县| 夹江县|