<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>計算機信息技術>用VB實現對庫文件的分割備份

      用VB實現對庫文件的分割備份

      時間:2023-02-21 00:12:44 計算機信息技術 我要投稿
      • 相關推薦

      用VB實現對庫文件的分割備份

       

                              用VB實現對庫文件的分割備份

       

                                      殷鵬

       

          在設計信息管理程序時,數據庫的軟盤備份與恢復是我們經常遇到的一個問題。如果僅僅使用文件復制指令,那么在文件大小超過軟盤容量時,就會出現錯誤。下面我來介紹一種用VB實現的對文件進行分割備份的方法。假設在E:\CLASS目錄下有一個名為CLASSES.MDB的文件,3.8M,我們現在要按照每個1.4M,把它分割成3個文件進行備份,然后,再恢復成CLASSES1.MDB文件。啟動VB,新建一個工程,添加一個模塊,將下列代碼填入模塊的聲明中:

       

      Type FileSection

          Bytes() As Byte

          FileLen As Long

      End Type

      Type SectionedFile

          Files() As FileSection

          NumberOfFiles As Long

      End Type

      Type FileInfo

          OrigProjSize As Long

          OrigFileName As String

          FileCount As Integer

          FileStartNum As Long

      End Type

       

          然后,在Form1中添加兩個按鈕,分別命名為cmdBackup,Caption:"備份";cmdRestore,Caption:"恢復"。

          分別雙擊按鈕,填入以下代碼:

       

      Private Sub cmdBackup_Click()

          Dim SplitFileName As String '待備份的文件名

          Dim Split As Long '備份文件的大小

          Dim SaveName As String '備份文件名

          Dim fNum As Integer '可用的文件號

          Dim NumFil As Long '備份文件的數目

          Dim FilesLen As Long '待備份文件的大小

          Dim CurrentFile As SectionedFile '參數結構

         

         

          SplitFileName = "e:\class\classes.mdb"

          Split = 1400000

          FilesLen = FileLen(SplitFileName)

         

          fNum = FreeFile

          Open SplitFileName For Binary As fNum '計算備份參數

              NumFil = CInt(FilesLen / Split)

              ReDim CurrentFile.Files(1 To NumFil)

              For i = 1 To NumFil

        

      ;          ReDim CurrentFile.Files(i).Bytes(1 To Split)

                  CurrentFile.Files(i).FileLen = UBound(CurrentFile.Files(i).Bytes)

              Next

              For i = 1 To NumFil

                  Get #fNum, , CurrentFile.Files(i).Bytes

              Next

              ReDim CurrentFile.Files(NumFil).Bytes(1 To FilesLen - ((NumFil - 1) * Split))

              CurrentFile.NumberOfFiles = NumFil

              Get #fNum, , CurrentFile.Files(NumFil).Bytes

              CurrentFile.Files(NumFil).FileLen = UBound(CurrentFile.Files(NumFil).Bytes)

          Close #fNum

          For i = 1 To CurrentFile.NumberOfFiles '分割備份

              SaveName = SplitFileName & "." & Format(BeginningNumber - 1 + i, "00#")

              fNum = FreeFile

              Open SaveName For Binary As fNum

                  Put #fNum, 1, CurrentFile.Files(i)

              Close #fNum

          Next

          Dim FileInfoFile As FileInfo '相關數據寫入臨時文件

          FileInfoFile.FileCount = NumFil

          FileInfoFile.OrigFileName = SplitFileName

          FileInfoFile.OrigProjSize = FileLen(SplitFileName)

          FileInfoFile.FileStartNum = BeginningNumber

          SaveName = SplitFileName & ".tpl"

          fNum = FreeFile

          Open SaveName For Binary As #fNum

              Put #fNum, , FileInfoFile

          Close #fNum

       

      End Sub

       

      Private Sub cmdRestore_Click()

          Dim OutName As String '恢復后文件名

          Dim fNum As Integer '可用的文件號

          Dim tmpFileName As String '臨時文件名

          Dim File As SectionedFile '參數結構

          Dim FileInfo As FileInfo '臨時文件的結構

         

          tmpFileName = "e:\class\classes.mdb.tpl"

          OutName = "e:\class\classes1.mdb"

         

      >    fNum = FreeFile

          Open tmpFileName For Binary As #fNum '取得相關數據

              Get #fNum, , FileInfo

          Close #fNum

         

         

          ReDim File.Files(1 To FileInfo.FileCount) '打開備份文件

          For i = 1 To FileInfo.FileCount

              OpenName = FileInfo.OrigFileName & "." & Format((FileInfo.FileStartNum - 1 + i), "00#")

              fNum = FreeFile

              Open OpenName For Binary As #fNum

                  Get #fNum, 1, File.Files(i)

              Close #fNum

          Next

          fNum = FreeFile

          Open OutName For Binary As #fNum '恢復

              For i = 1 To FileInfo.FileCount

                  Put #fNum, , File.Files(i).Bytes

              Next

          Close #fNum

       

      End Sub

       

          運行該例程,點擊“備份”按鈕,用資源管理器看看E:\CLASS目錄,可以看到分割后的三個文件:CLASSES.MDB.000、CLASSES.MDB.001、CLASSES.MDB.002,大小分別為:1.33M、1.33M、1.1M,還有一個存放參數的文件:CLASSES.MDB.TPL,大小:1K。點擊“恢復”按鈕,這些文件又被恢復成了CLASSES1.MDB。

          以上程序在PWIN98、VB6環境下運行通過。需要的朋友可以加入拷貝到A盤等語句,這樣,一個實用的備份與恢復程序就完成了。

         

       

       

      作者:殷鵬

      郵編:235000

      地址:安徽省淮北市教育巷A棟706號

      Email: yinpeng@21cn.com

       

       


      【用VB實現對庫文件的分割備份】相關文章:

      用Windows終端仿真程序實現微機遠程文件傳送08-06

      用Windows終端仿真程序實現微機遠程文件傳送108-06

      sql數據庫備份和恢復常用操作08-12

      VB訪問數據庫的方法及接口的比較08-06

      VB開發客戶服務器軟件的設計與實現08-06

      利用VB實現PC機與多單片機通訊08-06

      用VB構鍵Internet的應用08-06

      用VB制作網址鏈接器08-06

      用VB構鍵Internet的應用-08-06

      主站蜘蛛池模板: 亚洲av本道一区二区| h动态图男女啪啪27报gif| 深夜福利资源在线观看| 久久精品av国产一区二区| 国产精品无码av不卡| 国产 一区二区三区视频| 欧美不卡无线在线一二三区观| 亚洲精品国偷自产在线| 中文字幕在线精品人妻| 国产精品一区在线蜜臀| 麻豆精产国品一二三区区| 最新国产精品好看的精品| 美女一区二区三区亚洲麻豆| 亚洲国产欧美在线人成大黄瓜| 精品乱码一区二区三四五区| 人妻av中文字幕无码专区| 国产69精品久久久久99尤物| 一区二区三区四区五区自拍| 护士张开腿被奷日出白浆| 国产老熟女无套内射不卡| 深夜福利啪啪片| 国产成人啪精品午夜网站| 少妇被日自拍黄色三级网络| 国产精品疯狂输出jk草莓视频| 欧美野外伦姧在线观看| 国产黄色带三级在线观看| 韩国无码AV片在线观看网站| 久热这里只有精品12| 国产精品视频白浆免费视频| 国产成人久久综合一区| 亚洲天码中文字幕第一页| 中文字幕av无码免费一区| 国产不卡精品视频男人的天堂| 国产av一区二区三区精品| 日韩亚洲精品中文字幕| 天堂网亚洲综合在线| 无码熟妇人妻av影音先锋| 欧美亚洲综合成人a∨在线| 四虎国产精品久久免费地址| 护士张开腿被奷日出白浆| 九九热精品免费在线视频|