




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
用VB實現(xiàn)對庫文件的分割備份在設(shè)計信息管理程序時,數(shù)據(jù)庫的軟盤備份與恢復(fù)是我們經(jīng)常遇到的一個問題。如果僅僅使用文件復(fù)制指令,那么在文件大小超過軟盤容量時,就會出現(xiàn)錯誤。下面我來介紹一種用VB實現(xiàn)的對文件進(jìn)行分割備份的方法。假設(shè)在E:CLASS目錄下有一個名為CLASSES.MDB的文件,3.8M,我們現(xiàn)在要按照每個1.4M,把它分割成3個文件進(jìn)行備份,然后,再恢復(fù)成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:恢復(fù)。 分別雙擊按鈕,填入以下代碼:Private Sub cmdBackup_Click() Dim SplitFileName As String 待備份的文件名 Dim Split As Long 備份文件的大小 Dim SaveName As String 備份文件名 Dim fNum As Integer 可用的文件號 Dim NumFil As Long 備份文件的數(shù)目 Dim FilesLen As Long 待備份文件的大小 Dim CurrentFile As SectionedFile 參數(shù)結(jié)構(gòu) SplitFileName = e:classclasses.mdb Split = 1400000 FilesLen = FileLen(SplitFileName) fNum = FreeFile Open SplitFileName For Binary As fNum 計算備份參數(shù) 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 相關(guān)數(shù)據(jù)寫入臨時文件 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 恢復(fù)后文件名 Dim fNum As Integer 可用的文件號 Dim tmpFileName As String 臨時文件名 Dim File As SectionedFile 參數(shù)結(jié)構(gòu) Dim FileInfo As FileInfo 臨時文件的結(jié)構(gòu) tmpFileName = e:classclasses.mdb.tpl OutName = e:classclasses1.mdb fNum = FreeFile Open tmpFileName For Binary As #fNum 取得相關(guān)數(shù)據(jù) 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 恢復(fù) 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 應(yīng)急醫(yī)療保障課件
- 義務(wù)教育辦學(xué)標(biāo)準(zhǔn)
- 企業(yè)財務(wù)兼職人員合作協(xié)議
- 餐飲業(yè)餐飲服務(wù)流程優(yōu)化與改進(jìn)顧問合同
- 城市公共交通停車場經(jīng)營權(quán)轉(zhuǎn)讓協(xié)議
- 汽車租賃場銷售代理合作協(xié)議范本
- 餐飲店面租賃及特色餐飲項目合作協(xié)議
- 場監(jiān)督管理局舉報投訴處理與責(zé)任認(rèn)定與落實合同
- 車位租賃合同含停車管理協(xié)議
- 拆墻工程環(huán)保驗收協(xié)議
- 《家校合作研究的國內(nèi)外文獻(xiàn)綜述》2400字
- 高空作業(yè)安全試題及答案
- 江蘇省南京市2022年高二《生物》下學(xué)期期末試題與參考答案
- 吉林省2024年中考地理試卷2套附解析答案
- 山東省濟(jì)南市歷城區(qū)2025年九年級中考語文一??荚囋囶}(含答案)
- 火災(zāi)防治、隱患辨識與應(yīng)急避險
- 2025年河北省滄州市初中學(xué)業(yè)水平摸底考試地理試卷(含答案)
- 危重患者血糖管理指南
- 護(hù)理核心制度
- 交通管理與控制知到智慧樹章節(jié)測試課后答案2024年秋同濟(jì)大學(xué)
- 磷酸鐵鋰正極材料及鋰離子電池電池項目可行性研究報告
評論
0/150
提交評論