| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 706 人关注过本帖
标题:版主,心中有剑的文件我打不开(图片怎样读成二进制)
只看楼主 加入收藏
hushimiao
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-7-31
收藏
 问题点数:0 回复次数:7 
版主,心中有剑的文件我打不开(图片怎样读成二进制)
保存图片到数据库(Adodb.Stream)'保存图片到数据库(Adodb.Stream)
Public Sub SaveImageToDB(Rs As ADODB.Recordset, cFieldName As String, strImageFile As String)
Dim stm As ADODB.Stream
Set stm = New ADODB.Stream
stm.Type = adTypeBinary
stm.Open
stm.LoadFromFile strImageFile
Rs.Fields(cFieldName).Value = stm.Read
Rs.Update
stm.Close
Set stm = Nothing
End Sub

刚才一个兄弟发来的, 但是strImageFile
怎么来的啊,总要把图片读成二进制,再把值赋给strImageFile
我不会读,help!HELP!
搜索更多相关主题的帖子: 二进制 版主 文件 
2007-08-02 10:52
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
strImageFile,你要保存到数据库的图片文件名。

VB QQ群:47715789
2007-08-02 11:02
hushimiao
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-7-31
收藏
得分:0 
哦,

2007-08-02 11:06
hushimiao
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-7-31
收藏
得分:0 
Dim stm As New Stream
stm.Type = adTypeBinary
stm.Open
stm.Write objRs.Fields(4).Value
stm.SaveToFile strImageFile, adSaveCreateOverWrite
stm.Close
Set stm = Nothing
Image1.Picture = LoadPicture(strImageFile)
这里的strImageFile不是路径吧!strImageFile怎么来的,它应该是个字符型吧
数据库中的数据类型设为image,是不是数据类型错了啊,怎么读不出来

2007-08-02 11:26
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
数据库中有Image型吗?我怎么不知道。你用的什么数据库?

VB QQ群:47715789
2007-08-02 12:50
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

sql server里面有image类型的


添加两个按钮,一个image控件
注意:Access中的photo字段类型为OLE对象.
SqlServer中的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 = 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 iRe 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,会报一个文件写入失败的错误.
.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



2007-08-02 16:34
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
sql server 2005 里面有

2007-08-02 20:04
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
问一下.......
.Write iRe("photo")
‘这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
.SaveToFile App.Path & "\test1.jpg"
如果在这里加一个文件存在函数,如果返回目录下有test1.jpg就删了,再加,没有就直接加....那要怎么做了

2007-08-02 20:18
快速回复:版主,心中有剑的文件我打不开(图片怎样读成二进制)
数据加载中...
 
   



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

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