通用 檔案儲存至資料庫,從資料庫寫入磁碟 程式碼

來源:互聯網
上載者:User
程式|資料|資料庫 通用 檔案儲存至資料庫,從資料庫寫入磁碟 程式碼 ----20040809
這幾天我休假中,正好有時間繼續編寫mycodelibrary 1.5版,今天晚上剛好寫到檔案與資料庫存入取出模組,在論壇上此問題見的也較多,所以特此公開此部分代碼,供有需者參考使用.代碼雖然可以完整的正常使用,但還是需要做些錯誤方面的處理。

'歡迎你下載使用本代碼,本份代碼由程式太平洋提供下載學習之用
'聲明:
'1.本站所有代碼的著作權歸原作者所有,如果你使用了在本站下載的原始碼
' 引起的一切糾紛(後果)與本站無關,請您尊重原作者的勞動成果!
'2.若本站在代碼上有侵權之處請您與站長聯絡,站長會及時更正。
'中國代碼網:http://www.daima.com.cn
'程式太平洋:http://www.5ivb.net
'email:dapha@etang.com
'copyright 2001-2005 by www.5ivb.net
'整理時間:2004-8-9 3:32:48
option explicit
public objconn as new adodb.connection
public m_connstring as string
private function exists(byval str_filename as string, _
byval int_val as vbfileattribute) as boolean
'--------------------------------------------------------------------------------
' project : mycodelibrary 1.5
' procedure : exists
' description: [判斷檔案或目錄是否存在]
' created by : ronggang (zhouronggang@163.com)
' date-time : 2004-8-9-2:31:45
'
' parameters : str_filename (string)
' int_val (vbfileattribute)
'--------------------------------------------------------------------------------
on error resume next
if len(str_filename) = 0 then
exists = false
exit function
end if
if int_val <> vbdirectory then '如果不是目錄
'如果為空白表示檔案不存在
if dir(str_filename) = "" then
exists = false
else
exists = true
end if
else
if dir(str_filename, vbdirectory) = "" then
exists = false
else
exists = true
end if
end if
end function
public sub binvalue(byval strfilename as string, byref objfield as field)
'--------------------------------------------------------------------------------
' project : mycodelibrary 1.5
' procedure : binvalue
' description: [將檔案儲存至資料庫中]
' created by : wangfeng
' date-time : 2004-8-9-2:20:37
'
' parameters : strfilename (string)
' objfield (field)
'--------------------------------------------------------------------------------
'此方法需要做錯誤處理,以防檔案己開啟
dim objstream as stream
if not exists(strfilename, vbnormal) then '如果檔案不存則拋出異常
err.raise 50001, "dbfile", "檔案不存在!"
exit sub
end if
set objstream = new adodb.stream
with objstream
.type = adtypebinary
.open
.loadfromfile strfilename
objfield.value = .read
end with
set objstream = nothing
end sub
public function binvalue2file(byval strfilename as string, byref objfield as field, optional overwrite as boolean = false) as boolean
'--------------------------------------------------------------------------------
' project : mycodelibrary 1.5
' procedure : binvalue2file
' description: [將資料庫中的位元據儲存為檔案]
' created by : wangfeng
' date-time : 2004-8-9-2:22:33
'
' parameters : strfilename (string) 目標檔案
' objfield (field) 資料欄位名
' overwrite (boolean = false) 是否覆蓋現有存在的檔案
' true 覆蓋 false(預設)不存在時儲存
'--------------------------------------------------------------------------------
on error goto errorhander
dim objstream as stream
dim returnmsg as vbmsgboxresult
set objstream = new adodb.stream
with objstream
.type = adtypebinary
.open
.write objfield.value
if overwrite then
.savetofile strfilename, adsavecreateoverwrite
else
.savetofile strfilename, adsavecreatenotexist
end if
end with
binvalue2file = true '儲存成功返回true
101:
set objstream = nothing
exit function
errorhander:
binvalue2file = false
goto 101
end function
public function getfilename(byval strpathfilename) as string
dim ipos as long
ipos = vba.instrrev(strpathfilename, "\")
getfilename = mid(strpathfilename, ipos + 1)
end function
public function getpathname(optional strpathname as string) as string
'sfilename = mid(getpathname, ipos + 1)
dim ipos as long
ipos = vba.instrrev(strpathname, "\")
getpathname = mid(strpathname, 1, ipos)
end function



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。