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