如何把数据库中的图象加载到picturebox 取得数据库图片字段的byte[], 读到MemoryStream中, 再赋给Image.FromStream(stream); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 byte[] imagedata=(byte[])(dataSet1.Tables["employees"] .Rows[i]["照片"]);MemoryStream ms=new MemoryStream(imagedata);Bitmap bmp=new Bitmap(ms);出错:参数不对 哪句报错?MemoryStream ms = new MemoryStream();ms.Write(imagedata, 0, imagedata.Length);Bitmap bmp = new Bitmap(ms); 还是抱错使用了无效参数但是注掉Bitmap bmp = new Bitmap(ms);就对了 System.Drawing.Image img = System.Drawing.Image.FromStream(ms);picturebox1.Image = img; 可能是这错了, 不要把它读到dataset中, 你用SqlDataReader来读byte[] imagedata = (byte[])read["照片"]; SqlConnection cn=new SqlConnection(sqlstr);cn.Open();SqlCommand cmd=cn.CreateCommand();cmd.CommandText="select 照片 from employees ";SqlDataReader dr=cmd.ExecuteReader();if(dr.Read()){byte[] imagedata=(byte[])dr["照片"];MemoryStream sm = new MemoryStream();sm.Write(imagedata, 0, imagedata.Length);Image img = Image.FromStream(sm);pictureBox1.Image = img;}cn.Close();出错信息:指定转换无效 哦? 哪行报的错?还是Image img = Image.FromStream(sm);????是不是图片的内容本身就是错的? 用System.Drawing.Image img = System.Drawing.Image.FromStream(ms);也一样,看看我的储存图象private void imagestore(){///储存图象 SqlConnection cn=new SqlConnection(sqlstr); cn.Open(); try { byte[] imagedata=loadimg(); MessageBox.Show(imagedata.ToString()); SqlCommand imc=cn.CreateCommand(); imc.CommandText=@"insert into employees ('照片') values (imagedata)"; imc.ExecuteNonQuery(); } catch(Exception x) {MessageBox.Show(x.Message.ToString()+"dfgdf");} finally { cn.Close(); } }byte[] loadimg(){ try //MessageBox.Show(Connectstr); FileStream fs=new FileStream(Connectstr,FileMode.Open ); BinaryReader br=new BinaryReader(fs); byte[] imagebyte=br.ReadBytes(maximagesize); fs.Close(); return imagebyte; } catch(Exception x) {MessageBox.Show("erwrw"+x.Message.ToString());return null;} } } 你存时就错了, 应该用参数的方法imc.CommandText=@"insert into employees ('照片') values (@imagedata)";imc.Parameters.Add("@imagedata", SqlDbType.Image, imagedata.Length, "imagedata").Value = imagedata; cmd.CommandText="select 照片 from employees where id=1";出错:使用了无效参数 但是数据库中好象已经储存成功了显示byte[] 数组 cmd.CommandText="select 照片 from employees where id=1";这句出错我也想不通; :(你为什么不用 SqlCommand cmd = new SqlCommand("select 照片 from employees where id=1", cn); 那是一样的因为: SqlCommand imc=cn.CreateCommand(); 初次使用配置文件进行程序跟踪,遇到了点小问题,希望各位师傅指点 c# 实现三层报表 c#定义全局数据问题。。急 求一个正则表达式 关于WebBrowser禁用加载图片的一段C#代码 web c#.net中在html设计页中如何引用后台定义的过程? 求高人解答啊!!关于数据库课程设计的 在winform编程中怎么在子窗体关闭时,父窗体菜单的enable属性改变 手机短信问题 望高手指点下 我调试一个project,遇到"类库输出类型"问题怎么? 今天问题多,散的分也多。快进来呀。不等人。 DataTable的select问题
MemoryStream ms=new MemoryStream(imagedata);
Bitmap bmp=new Bitmap(ms);
出错:参数不对
MemoryStream ms = new MemoryStream();
ms.Write(imagedata, 0, imagedata.Length);
Bitmap bmp = new Bitmap(ms);
使用了无效参数
但是注掉Bitmap bmp = new Bitmap(ms);就对了
picturebox1.Image = img;
不要把它读到dataset中, 你用SqlDataReader来读
byte[] imagedata = (byte[])read["照片"];
cn.Open();
SqlCommand cmd=cn.CreateCommand();
cmd.CommandText="select 照片 from employees ";
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
byte[] imagedata=(byte[])dr["照片"];
MemoryStream sm = new MemoryStream();
sm.Write(imagedata, 0, imagedata.Length);
Image img = Image.FromStream(sm);
pictureBox1.Image = img;
}cn.Close();
出错信息:指定转换无效
也一样,
看看我的储存图象
private void imagestore()
{
///储存图象
SqlConnection cn=new SqlConnection(sqlstr);
cn.Open();
try
{
byte[] imagedata=loadimg();
MessageBox.Show(imagedata.ToString());
SqlCommand imc=cn.CreateCommand();
imc.CommandText=@"insert into employees ('照片') values (imagedata)";
imc.ExecuteNonQuery();
}
catch(Exception x)
{MessageBox.Show(x.Message.ToString()+"dfgdf");}
finally
{
cn.Close();
}
}byte[] loadimg()
{
try
//MessageBox.Show(Connectstr);
FileStream fs=new FileStream(Connectstr,FileMode.Open );
BinaryReader br=new BinaryReader(fs);
byte[] imagebyte=br.ReadBytes(maximagesize);
fs.Close();
return imagebyte;
}
catch(Exception x)
{MessageBox.Show("erwrw"+x.Message.ToString());return null;}
} }
imc.Parameters.Add("@imagedata", SqlDbType.Image, imagedata.Length, "imagedata").Value = imagedata;
出错:
使用了无效参数
显示byte[] 数组
这句出错我也想不通; :(你为什么不用 SqlCommand cmd = new SqlCommand("select 照片 from employees where id=1", cn);
因为: SqlCommand imc=cn.CreateCommand();