




已閱讀5頁,還剩8頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
用VB實現對庫文件的分割備份在設計信息管理程序時,數據庫的軟盤備份與恢復是我們經常遇到的一個問題。如果僅僅使用文件復制指令,那么在文件大小超過軟盤容量時,就會出現錯誤。下面我來介紹一種用VB實現的對文件進行分割備份的方法。假設在E:CLASS目錄下有一個名為CLASSES.MDB的文件,3.8M,我們現在要按照每個1.4M,把它分割成3個文件進行備份,然后,再恢復成CLASSES1.MDB文件。啟動VB,新建一個工程,添加一個模塊,將下列代碼填入模塊的聲明中: Type FileSection Bytes() As Byte FileLen As LongEnd TypeType SectionedFile Files() As FileSection NumberOfFiles As LongEnd TypeType FileInfo OrigProjSize As Long OrigFileName As String FileCount As Integer FileStartNum As LongEnd 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:classclasses.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:classclasses.mdb.tpl OutName = e:classclasses1.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.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農作物種子繁育員考前必做模擬試題及答案
- 2024年裁判員考試未來規劃試題及答案
- 游泳救生員2024年考試要點試題及答案
- 游泳救生員測試中的挑戰性試題及答案
- 實戰案例分析中的足球裁判員試題及答案
- 活性納米鈣基新材料生產線項目可行性研究報告(模板范文)
- 2024年體育經紀人資格考試的綜合復習試題及答案
- 游泳救生員考試的經典復習試題及答案
- 農作物繁育員資格考試模擬試題及答案
- 辦公環境裝修工程可行性研究報告(參考范文)
- FANUC發那科機器人常規點檢保養
- 醫藥有限公司公司獎懲制度
- 微電子學概論全套課件
- 實驗室氣瓶使用記錄
- DB37T 2974-2017 工貿企業安全生產風險分級管控體系細則
- DB13(J)∕T 8054-2019 市政基礎設施工程施工質量驗收通用標準
- 混雜纖維增強的復合材料介紹、特點和應用
- 星巴克哈佛商學院案例
- 工程項目內部控制流程圖表
- 強夯試夯報告(共12頁)
- 骨優導介紹PPT
評論
0/150
提交評論