这是一段要将从数据库读出的二进制数据(存储的图像),放入PictureBox控件的代码。//读取数据到PictureBox
MemoryStream ms = new MemoryStream((byte[])rd["tx"]);
 Image image = Image.FromStream(ms, true);       异常信息:参数无效。                            
 PicBox_CX.Image = image;

解决方案 »

  1.   

    ms有东西没有? debug 这样写是正确的!
      

  2.   

    SqlDataReader reader=cmd.ExecuteReader();   
     if(reader.Read())
     {
      MemoryStream ms=new MemoryStream((byte[])reader["Photo"]);   
      Image image=Image.FromStream(ms,true);   
      picturebox1.Image=image;   
    } reader.Close();   
      conn.Close();   
    检查数据长度
      

  3.   


    梦哥:
    “检查数据长度”是什么意思?怎样检查。在下用的数据库是“ACCESS”,表中的字段的值显示的是“长二进制数据”。字段的类型是“OLE对象”
      

  4.   

    if(reader.Read())这句已经检查了
      

  5.   

    MemoryStream ms = new MemoryStream((byte[])rd["tx"]);中的“rd["tx"]”,是二进制数据,字段的类型是“ole对象”,但是是以字符串的形式保存进去的。sql="insert xxxx (tx) values ('"+imagebytes+"')"。是不是,插入时的插入的类型不对,而应以“二进制流”或是其它格式插进去?请指点。