用VB如何實(shí)現(xiàn)文件數(shù)據(jù)對(duì)SQL Server上傳下載
2、添加新記錄并上傳文件
假定通過一些操作已經(jīng)獲得了要上傳的文件路徑和名稱(例如,可利用CommomDialog控件獲得),保存在string型變量filePath中。上傳的關(guān)鍵語句如下:
dimadofldAsADODB.Field,DataArr()AsByte,filelenAsLong,file_numAsLong
office_rst.AddNew
Setadofld=office_rst(office)
adorst(filename).Value=filePath
file_num=FreeFile'返回一個(gè)Integer,代表下一個(gè)可供Open語句使用的文件號(hào)
OpenfilePathForBinaryAccessReadAsfile_num'打開磁盤文件
filelen=LOF(file_num)'求文件長(zhǎng)度
ReDimDataArr(filelen)'根據(jù)文件長(zhǎng)度定義動(dòng)態(tài)數(shù)組大小
Getsourcefile,,DataArr'將一個(gè)已打開的磁盤文件讀入數(shù)組變量之中
adofld.AppendChunkDataArr()'將數(shù)組內(nèi)容存入image型字段中
Closefile_num'關(guān)閉磁盤文件
adorst.update
其中的filename為表office中的一個(gè)string型字段,用于存儲(chǔ)檔案文件的名稱。
數(shù)據(jù)的下載
在完成數(shù)據(jù)庫(kù)連接后不僅可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行文件上傳的操作,還可以很方便的進(jìn)行下載(瀏覽)。通過WebBrowser控件可瀏覽各種類型的文件。
1、WebBrowser控件
WebBrowser控件使應(yīng)用程序增加了瀏覽功能,利用它可瀏覽常見的一些文件格式,如Office、CAD、BMP、JEG等。包含了WebBrowser控件的應(yīng)用程序不僅可以對(duì)本機(jī)上的文件,還可以對(duì)局域網(wǎng)甚至世界網(wǎng)絡(luò)范圍內(nèi)的文件進(jìn)行瀏覽。
WebBrowse控件有很多方法,但這里只用到了Navigate方法,Navigate方法就是通過一個(gè)文件的全路徑去訪問這個(gè)文件,具體用法為:
WebBrowOff.NavigateURL
其中WebBrowOff是一個(gè)WebBrowser控件,URL是必需的string型參數(shù),它可以是表示在Internet的WWW服務(wù)程序上用于指定信息位置的字符串,也可以是一個(gè)全路徑或者是對(duì)要瀏覽的文件通過通用命名標(biāo)準(zhǔn)命名的位置和名稱。
2、文件數(shù)據(jù)的下載
在程序中可利用DataList控件列出數(shù)據(jù)庫(kù)中保存的文件的名稱,下載的思路為:首先定位要下載的文件所在的記錄;然后將文件的內(nèi)容賦給一個(gè)數(shù)組,并寫入一個(gè)二進(jìn)制文件;最后將該文件路徑、文件名傳給WebBrowser控件。
關(guān)鍵代碼如下所示:
dimFileArr()AsByte,currentasstring
filelen=office_rst.Fields(office).ActualSize'得到office字段中的文件數(shù)據(jù)的大小
ReDimFileArr(filelen)
FileArr()=office_rst.Fields(office).GetChunk(filelen)'將字段中數(shù)據(jù)寫入動(dòng)態(tài)數(shù)組中
bufferfile=FreeFile
OpentempfileForBinaryAccessReadWriteAsbufferfile'打開一個(gè)臨時(shí)文件
Putbufferfile,,F(xiàn)ileArr'將動(dòng)態(tài)數(shù)組FileArr中的數(shù)據(jù)寫入臨時(shí)文件tempfile中
current=CurDirtempfile'獲取臨時(shí)文件的全路徑
WebBrowOff.Navigatecurrent'在WebBrowser控件中顯示文件內(nèi)容
以上代碼中未定義的變量與前述相同。
結(jié)束語
現(xiàn)在很多單位檔案資料數(shù)據(jù)類型繁多,有OFFICE文檔、純文本、圖片資料以及包含基礎(chǔ)地形圖、現(xiàn)狀專題圖、規(guī)劃設(shè)計(jì)成果圖等多種圖件的AUTOCAD文件,并且數(shù)據(jù)量巨大,文件數(shù)目極多,利用本文介紹的方法可以方便的對(duì)數(shù)據(jù)庫(kù)各種數(shù)據(jù)進(jìn)行查看、上傳、下載操作,方便了有大量檔案資料的單位對(duì)資料的管理.本文引用地址:http://www.ex-cimer.com/article/151220.htm
評(píng)論