日期:2014-05-17  浏览次数:20772 次

把图片保存进数据库了怎么读不出来啊,总是提示参数错误。。
读取:
string com = "select image from ServerList where ServerNumber='P800002'";
            SqlConnection con = Link.linkCon();//自定义的
            con.Open();
            SqlCommand cmd = new SqlCommand(com, con);
            SqlDataReader sdr = cmd.ExecuteReader();
            sdr.Read();
            MessageBox.Show(sdr[0].ToString());
            byte[] bs = (byte[])sdr[0];
            MemoryStream ms = new MemoryStream(bs);
            ms.Write(bs, 0, bs.Length);
            Image image = Image.FromStream(ms);
            // Bitmap bt = new Bitmap(ms);//也行不通
            pictureBox1.Image = image;
            ms.Close();
            con.Close(); 
数据库 image byte

------解决方案--------------------
引用:
引用:MemoryStream ms = new MemoryStream(bs);
ms.Write(bs, 0, bs.Length);

如果你的图片数据是正确的话,这两句有一句就够了。怎么判断图片数据是否正确呢,
存储代码
Image image = pictureBox1.Image;
      ……

  SqlCommand com = new SqlCommand("update ServerList set [image]=@img where ServerNumber='P800002'", conn);
            com.Parameters.Add(new SqlParameter("@img", bt));
            com.ExecuteNonQuery();