一直报Image img = Image.FromStream(ms);参数无效,这要怎么改???

lfr896170 2013-02-01 09:29:35
using (SqlDataReader drm = sqlComm.ExecuteReader())
{
drm.Read();//以下把数据库中读出的Image流在图片框中显示出来.

MemoryStream ms = new MemoryStream((byte[])drm["Logo"]);
Image img = Image.FromStream(ms);

this.pictureBox1.Image = img;
}
一直报Image img = Image.FromStream(ms);参数无效,这要怎么改???

...全文
2620 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdztop 2013-02-01
  • 打赏
  • 举报
回复
如果流没错的的话吧 试试 吧Imageimg= Image.FromStream(ms); 后面加个上一句话bitmap bt =new bitmap(img); 或者直接 bitmap bt=new bitmap(Image.FromStream(ms)); this.pictureBox1.Image =bt; 这样应该好用
  • 打赏
  • 举报
回复
SqlBytes里有Stream,往里面写就可以更新了。
lfr896170 2013-02-01
  • 打赏
  • 举报
回复
顶6楼,这个问题求帮忙了
  • 打赏
  • 举报
回复
byte[])drm["Logo"]部分。用 SqlDataReader.GetSqlBytes 或者GetBytes 方法去取。 很有可能你直接转换出来的数据不正确。
lfr896170 2013-02-01
  • 打赏
  • 举报
回复
顺便问一下怎样更新数据库里面的二进制,完整代码,谢谢各位牛人了
tangzhiping121603 2013-02-01
  • 打赏
  • 举报
回复
先监视(byte[])drm["Logo"] 这个字节流是否有问题。
mjp1234airen4385 2013-02-01
  • 打赏
  • 举报
回复
上面的个楼都说了。
  • 打赏
  • 举报
回复
断点看一下drm["Logo"]是啥,是不是DBNull.Value
夏小安Lily 2013-02-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/zystory/article/details/4399338
tao526598085 2013-02-01
  • 打赏
  • 举报
回复
你设断点看下读出来的值是否正确
啊飞凤飞飞 2013-02-01
  • 打赏
  • 举报
回复
引用 6 楼 lfr896170 的回复:
顺便问一下怎样更新数据库里面的二进制,完整代码,谢谢各位牛人了

OleDbCommand dnc_productprogram_code = new OleDbCommand("insert into dnc_productprogram_code (fid,fcode,ftime) values(:fid,:fcode,:ftime)");
            dnc_productprogram_code.Parameters.Add(":fid", SqlDbType.VarChar);
            dnc_productprogram_code.Parameters.Add(":fcode", SqlDbType.VarBinary);
            dnc_productprogram_code.Parameters.Add(":ftime", SqlDbType.DateTime);
            dnc_productprogram_code.Parameters[":fid"].Value = fid;
            dnc_productprogram_code.Parameters[":fcode"].Value = progContent;
            dnc_productprogram_code.Parameters[":ftime"].Value = DateTime.Now;
            idal_dnc.ExcuteCommand(dnc_productprogram_code);
啊飞凤飞飞 2013-02-01
  • 打赏
  • 举报
回复
判断下 是不是为空, 以前在取文件图标的时候 经常取出来为空
lfr896170 2013-02-01
  • 打赏
  • 举报
回复
我数据库里面存的是二进制,然后我要把它显示出来,我写的一个测试的是正确的,但是我放到主窗体就会报参数无效

110,537

社区成员

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

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

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