VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
生活随笔
收集整理的這篇文章主要介紹了
VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
'創建數據庫Private Sub Create(ByVal mdbPath As String)If File.Exists(mdbPath) ThenThrow New Exception("目標數據庫已經存在,無法創建")End IfmdbPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPathDim cat As ADOX.Catalog = New ADOX.Catalog()cat.Create(mdbPath)End Sub'''' <summary>'''壓縮修復數據庫''' </summary>''' <param name="mdbPath"> 被壓縮的數據庫路徑+數據庫文件名</param>''' <remarks></remarks>Public Sub Compact(ByVal mdbPath As String)'If Not File.Exists(mdbPath) = False Then '檢查數據庫是否已存在 ' Throw New Exception("目標數據庫不存在,無法壓縮")'End IfDim temp = GetSysDatePartTime()Dim FilePath As String = mdbPath.Substring(0, mdbPath.LastIndexOf("/") + 1)Dim DbFileName As String = mdbPath.Substring(mdbPath.LastIndexOf("/") + 1, mdbPath.Length - mdbPath.LastIndexOf("/") - 1)File.Copy(mdbPath, FilePath + "DbBak/Bak" + temp + ".mdb", True)Dim StrProvid As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Dim jt As JRO.JetEngineClass = New JRO.JetEngineClass()jt.CompactDatabase(StrProvid + mdbPath, StrProvid + FilePath + "/DbBak" + temp + ".mdb")File.Delete(mdbPath)File.Copy(FilePath + "/DbBak" + temp + ".mdb", mdbPath, True)File.Delete(FilePath + "/DbBak" + temp + ".mdb")'//檢查數據庫是否已存在 { throw new Exception("目標數據庫不存在,無法壓縮"); } //聲明臨時數據庫的名稱string temp = DateTime.Now.Year.ToString();string temp2=null;temp += DateTime.Now.Month.ToString();temp += DateTime.Now.Day.ToString();temp += DateTime.Now.Hour.ToString();temp += DateTime.Now.Minute.ToString();temp += DateTime.Now.Second.ToString() + ".bak"; temp = mdbPath.Substring(0, mdbPath.LastIndexOf("//") + 1) + temp;//定義臨時數據庫的連接字符串temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp; //定義目標數據庫的連接字符串string mdbPath2=null;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);End Sub'備份數據庫,mdb1,源數據庫絕對路徑; mdb2: 目標數據庫絕對路徑 Public Sub BackUp(ByVal mdb1 As String, ByVal mdb2 As String)If File.Exists(mdb1) = False ThenThrow New Exception("源數據庫不存在")End IfTryFile.Copy(mdb1, mdb2, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub'恢復數據庫,mdb1為備份數據庫絕對路徑,mdb2為當前數據庫絕對路徑Public Sub Recover(ByVal mdb1 As String, ByVal mdb2 As String)If File.Exists(mdb1) = False ThenThrow New Exception("備份數據庫不存在")End IfTryFile.Copy(mdb1, mdb2, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub''' <summary>''' 檢查模板文件是否存在''' </summary>''' <param name="TempDbFile">模板文件所在路徑及模板文件(全局路徑)</param>''' <returns></returns>''' <remarks></remarks>Public Function CheckTempletFileExists(ByVal TempDbFile As String)Return File.Exists(TempDbFile)End Function''' <summary>''' 復制文件到新位置''' </summary>''' <param name="SourceFile">源文件</param>''' <param name="DestcentFile">目標文件</param>''' <remarks></remarks>Public Sub CopyDbToNewPos(ByVal SourceFile, ByVal DestcentFile)TryFile.Copy(SourceFile, DestcentFile, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub
總結
以上是生活随笔為你收集整理的VB.NET创建/修复/压缩/备份/恢复ACCESS数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言字符串作业题,C语言课后习题练习(
- 下一篇: Android视频录制