| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 832 人关注过本帖
标题:[求助]数据库中无图片怎么处理?
只看楼主 加入收藏
gaozikunpeng
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-9
收藏
 问题点数:0 回复次数:7 
[求助]数据库中无图片怎么处理?

Private Sub readfile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\yuangong.mdb" '得到最新添加的纪录
Set iConc = New ADODB.Connection
iConc.Open iConcstr
Set iRe = New ADODB.Recordset '打开表
iRe.Open "select * from yuangong_info where 职工编号='" & Trim(Form1.Text1) & "'", iConc, adOpenKeyset, adLockReadOnly
If iRe.EOF = True Then
MsgBox "该员工暂时无照片"
Else
Set iStm = New ADODB.Stream '保存到文件
With iStm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write iRe("photo")
.SaveToFile App.Path & "\4.jpg" '这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
End With
Form1.Picture1.Picture = LoadPicture(App.Path & "\4.jpg")
iRe.Close '关闭对象
iStm.Close
Kill App.Path & "\4.jpg"
End If
End Sub

红色部分是我在原来代码基础上,来处理数据库中的“photo”为空的代码,可是怎么不起作用。请问,当读取空“photo”时如何处理?

搜索更多相关主题的帖子: 数据库 iRe Microsoft ADODB 
2007-01-14 08:34
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
isNull(字段值)

我的msn: myfend@
2007-01-14 10:51
gaozikunpeng
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-9
收藏
得分:0 
Private Sub readfile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\yuangong.mdb" '得到最新添加的纪录
Set iConc = New ADODB.Connection
iConc.Open iConcstr
Set iRe = New ADODB.Recordset '打开表
iRe.Open "select * from yuangong_info where 职工编号='" & Trim(Form1.Text1) & "'", iConc, adOpenKeyset, adLockReadOnly
If Not IsNull(iRe.Fields("职工编号").Value) Then
Set iStm = New ADODB.Stream '保存到文件
With iStm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write iRe("photo")
.SaveToFile App.Path & "\4.jpg" '这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
End With
Form1.Picture1.Picture = LoadPicture(App.Path & "\4.jpg")
iRe.Close '关闭对象
iStm.Close
Kill App.Path & "\4.jpg"
Else
MsgBox "该员工暂时无照片"
End If
End Sub
不好意思,我对ISNULL 不太熟悉,这么用肯定是不对,烦劳版主帮忙修改一下!
2007-01-14 12:30
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
这样应该行的啊.
提示什么错误?.

我的msn: myfend@
2007-01-14 12:46
gaozikunpeng
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-9
收藏
得分:0 

当我读取'photo'为空的数据库时,提示:实是错误,‘3001’,参数类型不正确,或与其他参数冲突。
.Write iRe("photo")

2007-01-14 12:55
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
那关isNull什么事?.

我的msn: myfend@
2007-01-14 13:27
gaozikunpeng
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-9
收藏
得分:0 

,见笑了,是我的大意,问题解决了,但是照片存放到数据库中又出现问题了:
Private Sub Command1_Click()
'保存文件到数据库中
Dim iStm As New ADODB.Stream
Dim iRe As ADODB.Recordset
Dim iConcstr As String

'读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile (fname)
End With
'打开保存文件的表
Set iRe = New ADODB.Recordset
With iRe
.Open "select * from yuangong_info where 职工编号='" & Trim(Form1.Text1) & "'", iConc, 1, 3
.Update
.Fields("photo") = iStm.Read
.Update
End With
'完成后关闭对象
iRe.Close
iStm.Close
MsgBox "照片已经成功储存!", vbOKOnly + vbExclamation, "添加结果!"
End Sub
提示:实时错误‘3021’,BOF 或EOF中有一个是真,或者当前的记录已被删除,所需的操作需要一个当前记录。

2007-01-14 14:05
gaozikunpeng
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-9
收藏
得分:0 

问题解决了,不打扰了!谢谢purana!!!

2007-01-14 14:19
快速回复:[求助]数据库中无图片怎么处理?
数据加载中...
 
   



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

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