VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了VB.NET压缩ACCESS数据库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

'创建数据库

Private Sub Create(ByVal mdbPath As String)
If File.Exists(mdbPath) Then
Throw New Exception("目标数据库已经存在,无法创建")
End If
mdbPath = "Provider=Microsoft.jet.oLEDB.4.0;Data source=" + mdbPath
Dim 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 If

Dim 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 = datetiR_70_11845@e.Now.Year.ToString(); String temp2=null; temp += datetiR_70_11845@e.Now.Month.ToString(); temp += datetiR_70_11845@e.Now.Day.ToString(); temp += datetiR_70_11845@e.Now.Hour.ToString(); temp += datetiR_70_11845@e.Now.minute.ToString(); temp += datetiR_70_11845@e.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,truE); //最后删除临时数据库 File.delete(temp);
End Sub

'备份数据库,mdb1,源数据库绝对路径; mdb2: 目标数据库绝对路径
Public Sub BACkUp(ByVal mdb1 As String,ByVal mdb2 As String)
If File.Exists(mdb1) = false Then
Throw New Exception("源数据库不存在")
End If
Try
File.Copy(mdb1,mdb2,TruE)
Catch ixp As IOException
Throw New Exception(ixp.ToString())
End Try
End Sub


'恢复数据库,mdb1为备份数据库绝对路径,mdb2为当前数据库绝对路径
Public Sub Recover(ByVal mdb1 As String,ByVal mdb2 As String)
If File.Exists(mdb1) = false Then
Throw New Exception("备份数据库不存在")
End If
Try
File.Copy(mdb1,TruE)
Catch ixp As IOException
Throw New Exception(ixp.ToString())
End Try
End 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) Try File.Copy(sourceFile,DestcentFile,TruE) Catch ixp As IOException Throw New Exception(ixp.ToString()) End Try End Sub

大佬总结

以上是大佬教程为你收集整理的VB.NET压缩ACCESS数据库全部内容,希望文章能够帮你解决VB.NET压缩ACCESS数据库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。