现在的位置: 首页 > 综合 > 正文

VB.Net代码压缩数据库

2013年06月06日 ⁄ 综合 ⁄ 共 1441字 ⁄ 字号 评论关闭
当我们往数据库中添加数据,然后删除,如此反复,数据库就会变得很大,这样就需要对其进行压缩
下面的函数可以实现压缩数据库 

''' <summary>
  ''' 压缩数据库
  ''' </summary>
  ''' <remarks></remarks>
  Private Sub CompactDatabase(ByVal pFilePath As String)
    Dim pFileName As String
    pFileName = GetFileName(pFilePath)
    '检查数据库文件是否存在    
    If Len(Dir(pFilePath)) Then
      '   如果需要备份就执行备份    
      If MessageBox.Show("是否备份?", "测试", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
        wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.Title = "选择保存目录"
        wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.FileName = pFileName
        Dim pFilter As String = GetFileExtName(pFileName)
        wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.Filter = "文件(*." & pFilter & ")|*." & pFilter
        wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.ShowDialog()
        Dim r As DialogResult = wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.ShowDialog()
        If r = Windows.Forms.DialogResult.Cancel Then
          Exit Sub
        End If
        FileCopy(pFilePath, wsManageGlobalParam.g_ManageFileControl.SaveFileDialogFile.FileName)
      End If
      wsDataSet.SetNothing()
      Dim jro As JRO.JetEngine
      Dim pTempPath As String = GetTempPath()
      jro = New JRO.JetEngine()
      jro.CompactDatabase(wsManageGlobalParam.g_Connection & pFilePath, wsManageGlobalParam.g_Connection & pTempPath & "\" & pFileName)
      Kill(pFilePath)
      FileCopy(pTempPath & "\" & pFileName, pFilePath)
      Kill(pTempPath & "\" & pFileName)
    End If

抱歉!评论已关闭.