VB中上传下载文件到SQL数据库
生活随笔
收集整理的這篇文章主要介紹了
VB中上传下载文件到SQL数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VB中上傳下載文件到SQL數據庫
?
編寫人:左丘文
?
2015-4-11
近期在修改一個VB編寫的系統時,想給畫面增加一個上傳文件到數據庫,并可以下載查看的功能,今天在這里,我想與大家一起分享代碼,在此做個小結,以供參考。有興趣的同學,可以一同探討與學習一下,否則就略過吧。
?
1、?首先要保存文件到數據庫,我們需要使用流對象保存,所以第一時間先在數據庫中增加
一個image的字段(注意:Access中的photo字段類型為OLE對象.SqlServer中的photo字段類型為Image),用于存儲文件。
? ???
2、?下面再在畫面增加用于上傳及下載的CommandButton及一個commondialog:
?
1)???????? 數據庫連接處理
?1?Private?Sub?Form_Load()?2?????'數據庫連接字符串
?3??Connstring="Provider=Microsoft.Jet.OLEDB.4.0;Persist?Security?Info=False"?&?_
?4?";Data?Source=d:\csdn_vb\database\保存圖片\access圖片\img.mdb"
?5??
?6?‘下面的語句是連接sqlserver數據庫的.
?7?‘Connstring="Provider=SQLOLEDB.1;Persist?Security?Info=True;"?&?_
?8?‘"User?ID=sa;Password=;Initial?Catalog=test;Data?Source=yang"
?9????Set?Conn?=?New?ADODB.Connection
10????Conn.Open?Connstring
11?End?Sub
2)???????? 上傳文件處理
?1?Private?Sub?cmdUpload_Click()?2?**?引用?Microsoft?ActiveX?Data?Objects?2.5?Library?及以上版本
?3?‘2.5版本以下不支持Stream對象
?4??
?5?On?Error?GoTo?handleErr
?6?Dim?rs?As?ADODB.Recordset
?7?Dim?mstream?As?ADODB.Stream
?8??
?9?'保存文件到數據庫中
10?Set?rs?=?New?ADODB.Recordset
11?With?rs
12?????????.ActiveConnection?=?Conn
13?????????.LockType?=?adLockOptimistic
14?????????.CursorLocation?=?adUseClient
15?????????.CursorType?=?adOpenKeyset
16?????????.Open?"SELECT?*?from?SR?WHERE?SRNUM='"?&?txtSRNUM.Text?&?"'"
17?????End?With
18??
19??
20??
21?CommonDialog1.Filter?=?"Pictures?(*.PDF;*.pdf)|*.PDF;*.pdf"
22?CommonDialog1.ShowOpen
23?If?CommonDialog1.filename?=?""?Then?Exit?Sub
24??
25?If?(rs.RecordCount?=?1)?Then
26??
27??
28?'讀取文件到內容
29?????Set?mstream?=?New?ADODB.Stream
30?????With?mstream
31?????????.Type?=?adTypeBinary???'二進制模式
32?????????.Open
33?????????.LoadFromFile?CommonDialog1.filename
34?????End?With
35??
36?rs.Fields("FileName").Value?=?CommonDialog1.FileTitle
37?rs.Fields("FileUploadTime").Value?=?Format(Now,?"YYYY-MM-DD?hh:mm")
38?rs.Fields("FileNameContent")?=?mstream.Read
39?rs.update
40?'完成后關閉對象
41?mstream.Close
42??
43?End?If
44?rs.Close
45??Set?rs?=?Nothing
46?txtFileName.Text?=?CommonDialog1.FileTitle
47??
48?Exit?Sub
49??
50?handleErr:
51???MsgBox?ERR.Description
52?End?SubView Code
3)???????? 下載文件處理
?1?Private?Sub?cmdDownload_Click()?2?On?Error?GoTo?handleErr
?3?Dim?rs?As?ADODB.Recordset
?4?Dim?mstream?As?ADODB.Stream
?5??
?6?Set?rs?=?New?ADODB.Recordset
?7?With?rs
?8?????????.ActiveConnection?=?ConGamma
?9?????????.LockType?=?adLockOptimistic
10?????????.CursorLocation?=?adUseClient
11?????????.CursorType?=?adOpenKeyset
12?????????.Open?"SELECT?*?from?SR?WHERE?SRNUM='"?&?txtSRNUM.Text?&?"'"
13?????End?With
14?If?(rs.RecordCount?=?1)?Then
15????If?(rs("FileNameContent").ActualSize?>?1)?Then??‘判斷是否為空
16?????'保存到文件
17?????Set?mstream?=?New?ADODB.Stream
18?????With?mstream
19?????????.Mode?=?adModeReadWrite
20?????????.Type?=?adTypeBinary
21?????????.Open
22?????????.Write?rs("FileNameContent")
23?????????.SaveToFile?"C:\8D.PDF"????‘‘這里注意了,如果當前目錄下存在8D.PDF,會報一個文件寫入失敗的錯誤.
24?????End?With
25????
26?????'關閉對象
27?????rs.Close
28?????mstream.Close
29????
30??
31?End?If
32?End?If
33??
34?Exit?Sub
35?handleErr:
36???MsgBox?ERR.Description
37?End?SubView Code
具體就需要各位好好的去自已去調試了。
?
3、有關更多的技術分享,大家可以加入我們的技術群。
?
歡迎加入技術分享群:238916811
?
轉載于:https://www.cnblogs.com/bribe/p/4420082.html
總結
以上是生活随笔為你收集整理的VB中上传下载文件到SQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fastboot 刷入第三方 Recov
- 下一篇: 中国姓氏排名表