vb.net2010从ACCESS的OLE字段读出图片显示到PictureBox控件上

vb.net2010从ACCESS的OLE字段读出图片显示到PictureBox控件上请给出确定能运行成功的一段代码另外问一下,ACCESS的OLE字段能保存JPG图片吗... vb.net2010从ACCESS的OLE字段读出图片显示到PictureBox控件上
请给出确定能运行成功的一段代码
另外问一下,ACCESS的OLE字段能保存JPG图片吗?
如果可以的话怎么在ACCESS中手动保存,怎么用VB.net读取显示到控件上
目前的代码如下,但运行到最后一行会提示“参数无效”
Dim pic() As Byte = CType(tbl.Rows(0).Item("img1"), Byte())
Dim mem As New MemoryStream(pic)
pic1.Image = Image.FromStream(mem)
把CType改成DirectCast也不行。
这个是我打错了,我改成AS也不行。
一楼的办法还是不行。
我把语句改成 select img1 from solution where id=1还是不行
我图上的文件长度明明是6262,改了select语句后长度还是6262,说明这个图片的长度就是6262啊。
展开
 我来答
百度网友293f7fa
2010-08-12 · TA获得超过280个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:300万
展开全部
这是vb2005的代码,你试一下,这是我以前做的一段代码,从库中读取到显示。
olecon = New OleDbConnection(constr)
olecon.Open()
Dim comm As New OleDbCommand("select 照片 from 表 where name='李三', olecon)
Dim reader As OleDbDataReader = comm.ExecuteReader
reader.Read()
Dim photofile() As Byte
photofile = reader.GetValue(0)
Dim streamph As New MemoryStream(photofile)
PictureBox1.Image = Image.FromStream(streamph)
这段代码是我从我做的小软件中截出来的,我在2005中就用着,2005是通过的,不知道加到2010中能否执行。
-------------------------------
根据你的发的图,我看了,好像你从库中取出的不是一条记录呀,我的代码只能取一条记录的情况,你的明显取出多条记录,代码只认最后一条,你的文件长度为0,当然不行了
select 照片 from 表 where name='李三',这条语句只能取出单条记录,且ole字段中确定有文件存在的,而且是图片格式才能显示
-------------------------------------------------------
Dim streamph As New MemoryStream(photofile)
你的是 Dim streamph = New MemoryStream(photofile)

这句你的和我的不一样,是不是这里的问题,2010没用过,要是还不行,我也不知道了
百度网友94f02eb
2010-08-13 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4473万
展开全部
解决了

Dim pic() As Byte = CType(tbl.Rows(0).Item("img1"), Byte())
Dim mem As New MemoryStream(pic, &H9A, pic.Length - &H9A)
pic1.Image = Image.FromStream(mem)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式