| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2693 人关注过本帖
标题:怎样打开图片和保存图片(leon2,purana,wsn加我QQ)
只看楼主 加入收藏
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
'若有照片,则保存照片的二进制码
Dim byteBuf() as Byte
If imgUserPicture.Picture <> 0 Then
Open Path_Picture For Binary As #1
Get #1, , byteBuf
For i = 0 To UBound(byteBuf)
mrc.Fields(2) = mrc.Fields(2) & byteBuf(i)
Next
End If

我想把二进制保存到数据库里,写了上面的代码后提示我下标越界,要怎么写才能保存到数据库中呢?

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-02-08 17:39
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 

你用这个代码:

Dim byteBuf() as Byte
If imgUserPicture.Picture <> 0 Then

ReDim byteBuf(FileLen(Path_Picture) - 1)
Open Path_Picture For Binary As #1
Get #1, , byteBuf
For i = 0 To UBound(byteBuf)
mrc.Fields(2) = mrc.Fields(2) & byteBuf(i)
Next
End If

2006-02-08 18:07
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 

我试了一下你那个代码,发生益出了哦~


爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-02-08 20:26
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 

那么一边读取一边存储吧:

Dim byteBuf(10240) As Byte

If imgUserPicture.Picture <> 0 Then
Open Path_Picture For Binary As #1
Do While Not EOF(1)
Get #1, , byteBuf
For i = 0 To UBound(byteBuf)
mrc.Fields(2) = mrc.Fields(2) & byteBuf(i)
Next
Loop
Close #1
End If

[此贴子已经被作者于2006-2-8 22:14:08编辑过]

2006-02-08 22:12
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
我用了这个网上说的方法后成功的保存了图片了
[URL=http://www.ddvip.net/program/vb/index3/397.htm]http://www.ddvip.net/program/vb/index3/397.htm[/URL]
哈哈,我的电子通讯录就快完成了,到时发上来和大家分享哈

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-02-09 18:07
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 


写入sql图片看下面的代码,注:工程引用ado2.5及以上版本才行,否则没有Stream
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim mstream As New ADODB.Stream
Private Sub Command1_Click() '读取图片
Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB;data Source=.;Initial Catalog=pubs;User Id=sa;Password="

Set rs = New ADODB.Recordset
rs.Open "Select * from pub_info", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("logo").Value
mstream.SaveToFile "c:\publogo.gif", adSaveCreateOverWrite

rs.Close
cn.Close

End Sub

Private Sub Command2_Click() '写入图片
Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB;data Source=.;Initial Catalog=pubs;User Id=sa;Password="

Set rs = New ADODB.Recordset
rs.Open "Select * from pub_info", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile "c:\publogo.gif"
rs.Fields("logo").Value = mstream.Read
rs.Update

rs.Close
cn.Close

End Sub


已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-02-10 09:25
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("logo").Value
mstream.SaveToFile "c:\publogo.gif", adSaveCreateOverWrite
这一段是什么意思呢?

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-02-10 10:53
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
是我做实验的代码,当然要改的了,文件是自已命名的。是个临时文件,原文是在msdn上

有了临时文件再用loadpicture载入就行了噻

[此贴子已经被作者于2006-2-10 13:28:22编辑过]


已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-02-10 13:27
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
Dim mstream As New ADODB.Stream
ADODB.Stream是什么东东?呵呵

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-02-10 14:44
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
当然是ado2.5的流式文件类型啊

已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-02-10 15:05
快速回复:怎样打开图片和保存图片(leon2,purana,wsn加我QQ)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023849 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved