《VB中将图片保存到sql server数据库中.docx》由会员分享,可在线阅读,更多相关《VB中将图片保存到sql server数据库中.docx(6页珍藏版)》请在三一办公上搜索。
1、VB中将图片保存到sql server数据库中Sql Servr里有个Image类型,可以保存二进制信息, Dim strfilename As String Dim strfiletitle As String Dim fillng As Long Dim fillen As Long Dim bytfile As Byte strfilename = CommonDialog1.FileName strfiletitle = CommonDialog1.FileTitle fillng = FreeFile Open strfilename For Binary As #fillng fi
2、llen = LOF(fillng) If fillen > 8 Then ReDim bytfile(fillen - 1) Get #fillng, , bytfile End If Close #fillng 将bytfile赋给某个image字段就可以了-读出来时,对应的将那个Image字段的内容赋给bytfile Open strfilename For Binary As #1 Put #1, , bytfile Close #1-使用流对象保存和显示图片 打开vb6,新建工程。 添加两个按钮,一个image控件 注意:Access中的photo字段类型为OLE对象. SqlS
3、erver中的photo字段类型为Image * 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本 2.5版本以下不支持Stream对象 Dim iConcstr As String Dim iConc As ADODB.Connection 保存文件到数据库中 Sub s_SaveFile Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset Dim iConcstr As String 读取文件到内容 Set iStm = New ADODB.Stream With iStm .Type
4、 = adTypeBinary 二进制模式 .Open .LoadFromFile App.Path + test.jpg End With 打开保存文件的表 Set iRe = New ADODB.Recordset With iRe .Open select * from img , iConc, 1, 3 .AddNew 新增一条记录 .Fields( photo ) = iStm.Read .Update End With 完成后关闭对象 iRe.Close iStm.Close End Sub Sub s_ReadFile Dim iStm As ADODB.Stream Dim i
5、Re As ADODB.Recordset 打开表 Set iRe = New ADODB.Recordset 得到最新添加的纪录 iRe.Open select top 1 * from img order by id desc , iConc, adOpenKeyset, adLockReadOnly 保存到文件 Set iStm = New ADODB.Stream With iStm .Mode = adModeReadWrite .Type = adTypeBinary .Open .Write iRe( photo) 这里注意了,如果当前目录下存在test1.jpg,会报一个文件写
6、入失败的错误. .SaveToFile App.Path & test1.jpg End With Image1.Picture = LoadPicture(App.Path & test1.jpg ) 关闭对象 iRe.Close iStm.Close End Sub Private Sub Command1_Click Call s_ReadFile End Sub Private Sub Command2_Click Call s_SaveFile End Sub Private Sub Form_Load 数据库连接字符串 iConcstr = Provider=Microsoft.J
7、et.OLEDB.4.0;Persist Security Info=False & _ ;Data Source=F:csdn_vbdatabase保存图片access图片img.mdb 下面的语句是连接sqlserver数据库的. iConcstr = Provider=SQLOLEDB.1;Persist Security Info=True; & _ User ID=sa;Password=;Initial Catalog=test;Data Source=yang Set iConc = New ADODB.Connection iConc.Open iConcstr End Sub Private Sub Form_Unload(Cancel As Integer) iConc.Close Set iConc = Nothing End Sub