Foxtable(狐表)用户栏目专家坐堂 → [原创]怎样实现二进制图片列的读取


  共有8943人关注过本帖树形打印复制链接

主题:[原创]怎样实现二进制图片列的读取

美女呀,离线,留言给我吧!
cqmeiyan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:104 积分:939 威望:0 精华:0 注册:2011/6/8 9:13:00
[原创]怎样实现二进制图片列的读取  发帖心情 Post By:2012/4/1 13:35:00 [显示全部帖子]

我现在做一个程序,因为数据库结构是引用原来他们的数据库,所以不能修改图片列的格式

 

想问问有没有其它方法,用代码把二进制图片存成图片文件后,再用picturebox读出?


 回到顶部
美女呀,离线,留言给我吧!
cqmeiyan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:104 积分:939 威望:0 精华:0 注册:2011/6/8 9:13:00
  发帖心情 Post By:2012/4/6 16:15:00 [显示全部帖子]

我试了,可以调出图片了

 

但是还有个问题,可能是狐表不兼容 VB.NET语句造成的

 

问题就是,当二进制列为空值时,用VB.NET的语句无法判断(在VB.NET里是可能正常使用的)

 

烦请狐爸爸帮我看看呢,这个怎么处理呀,这个急呀,因为数据库是既有的数据库,不能改人家的数据库呀

 

Dim dt As DataTable=cmd.executereader

If Trim(dt.dataRows(0)("xx_front").ToString) = "" Then  '现在在这里没办法判断,不管数据列是否为空,这里得到的都不是空值

    Return
End If


Dim imageByte() As Byte = dt.DataRows(0)("xx_front") '所以不管值是否为空,都会执行到这里,而到这里就会提示出错

messagebox.Show (imageByte.length)

If imageByte.length > 0 Then
    Dim ms As New IO.MemoryStream(imageByte)       '将字节数组转换为二进制流
    Dim image As Image = Image.FromStream(ms)      '将二进制流转换为图片
    Forms(frmname).Controls("PictureBox1").image = image      '显示图片
End If

 

 

出错提示为:

索引超出了数组界限(无法插入图片)


 回到顶部
美女呀,离线,留言给我吧!
cqmeiyan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:104 积分:939 威望:0 精华:0 注册:2011/6/8 9:13:00
  发帖心情 Post By:2012/4/6 16:43:00 [显示全部帖子]

就这个问题了,我现在就卡在这里呀

 

如果图片列有存图片的,就能正常调出,如果图片列为空时,就会报错,怎么都截取不到,我晕

 

(我试试用 TRY 看看行不行 )

 

还请狐爸抽空帮忙写一个嘛

 

拜托了!!!


 回到顶部