如何从oracle数据库获取blob图片然后显示到picturebox上?

Roger丶Yu 2017-03-22 11:08:08
dbhelper中有方法 返回dataset的 然后在主页面怎么显示到picturebox上?


public DataSet Select_Photos()
{
string sql = @"select p.photos,t.courier_number from md_tag t inner join md_photos p on p.id = t.mp_id";
DataSet ds = DBHelper.GetSet(sql,CommandType.Text);
return ds;
}

...全文
358 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
全栈极简 2017-03-22
  • 打赏
  • 举报
回复
大概这样:
Byte[] bytes = (Byte[])rows[i]["columnename"];
MemoryStream ms = new MemoryStream(bytes);
Bitmap pictureBlob = new Bitmap(Bitmap.FromStream(ms));
this.picturebox.Image = pictureBolb;
xiaoyu5425 2017-03-22
  • 打赏
  • 举报
回复
流。。。。。。。。。。。。。。。
Roger丶Yu 2017-03-22
  • 打赏
  • 举报
回复
这个photos里面存的是blob类型的图片。 不是路径
shoppo0505 2017-03-22
  • 打赏
  • 举报
回复
你这个photos里面是什么内容? 如果是二进制如片,那就要把内容转成image对象,再显示在界面上 如果是path,那就在页面上拖入一个image控件,你在后台把path给这个控件
Roger丶Yu 2017-03-22
  • 打赏
  • 举报
回复
帖子不要沉啊!!! 求大神教我下!!
Roger丶Yu 2017-03-22
  • 打赏
  • 举报
回复
引用 9 楼 guwei4037 的回复:
[quote=引用 8 楼 qq_16458561 的回复:] [quote=引用 7 楼 guwei4037 的回复:] [quote=引用 6 楼 qq_16458561 的回复:] rows[i]这边的rows是哪来的?ds里面的么?
for循环ds的Rows.[/quote] 是这样吗?

    DataSet ds = sr.Select_Photos();
            foreach (DataRow row in ds.Tables[0].Rows)
            {
			    Byte[] bytes = (Byte[])row[i]["photos"];
                MemoryStream ms = new MemoryStream(bytes);
                Bitmap pictureBlob = new Bitmap(Bitmap.FromStream(ms));
                this.pboxMain.Image = pictureBlob;
            }
[/quote] 自己控制好逻辑,循环给pboxMain赋值?关键代码是这样。[/quote] 已经可以了 谢谢了老哥
全栈极简 2017-03-22
  • 打赏
  • 举报
回复
引用 8 楼 qq_16458561 的回复:
[quote=引用 7 楼 guwei4037 的回复:] [quote=引用 6 楼 qq_16458561 的回复:] rows[i]这边的rows是哪来的?ds里面的么?
for循环ds的Rows.[/quote] 是这样吗?

    DataSet ds = sr.Select_Photos();
            foreach (DataRow row in ds.Tables[0].Rows)
            {
			    Byte[] bytes = (Byte[])row[i]["photos"];
                MemoryStream ms = new MemoryStream(bytes);
                Bitmap pictureBlob = new Bitmap(Bitmap.FromStream(ms));
                this.pboxMain.Image = pictureBlob;
            }
[/quote] 自己控制好逻辑,循环给pboxMain赋值?关键代码是这样。
Roger丶Yu 2017-03-22
  • 打赏
  • 举报
回复
引用 7 楼 guwei4037 的回复:
[quote=引用 6 楼 qq_16458561 的回复:] rows[i]这边的rows是哪来的?ds里面的么?
for循环ds的Rows.[/quote] 是这样吗?

    DataSet ds = sr.Select_Photos();
            foreach (DataRow row in ds.Tables[0].Rows)
            {
			    Byte[] bytes = (Byte[])row[i]["photos"];
                MemoryStream ms = new MemoryStream(bytes);
                Bitmap pictureBlob = new Bitmap(Bitmap.FromStream(ms));
                this.pboxMain.Image = pictureBlob;
            }
全栈极简 2017-03-22
  • 打赏
  • 举报
回复
引用 6 楼 qq_16458561 的回复:
rows[i]这边的rows是哪来的?ds里面的么?
for循环ds的Rows.
Roger丶Yu 2017-03-22
  • 打赏
  • 举报
回复
rows[i]这边的rows是哪来的?ds里面的么?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧