SQL数据库里图片无法读取
我之前把除了图片以外的个人信息全部输进去数据库了,后来又单独输图片(更新上次的记录),图片也已二进制保存进了数据库,可是读取的时侯出现了问题,但是不知道问题出在哪里?以下代码省去了存储其他数据,主要是看看第二部分读取图片
点击picture存储图片
private void pictureBox9_Click(object sender, EventArgs e)
 ?       {
 ?           openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";
 ?           if (openFileDialog1.ShowDialog() == DialogResult.OK)
 ?           {
 ?               string fullpath = openFileDialog1.FileName;//文件路径
 ?               FileStream fs = new FileStream(fullpath, FileMode.Open);
 ?               byte[] imagebytes = new byte[fs.Length];//把图片读成字节形式,赋给一个字节数组(image类型是以二进制数字存储)
 ?               BinaryReader br = new BinaryReader(fs);
 ?               imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
 ?               //打开数据库
 ?               SqlConnection cn = new SqlConnection(@"server=.\SQLEXPRESS;AttachDbFilename=C:\USERS\DY\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\PROPERTY MANAGEMENT SYSTEM\PROPERTY MANAGEMENT SYSTEM\PMS.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True");
 ?               cn.Open();
 ?               SqlCommand cm = new SqlCommand("update [personal info] set ownerPic=@ownerPic where ownerID='"+textBox1.Text+"'", cn);
 ?               cm.Parameters.Add("ownerPic", SqlDbType.Image);
 ?               cm.Parameters["ownerPic"].Value = imagebytes;
 ?               cm.ExecuteNonQuery();
 ?               cn.Close();
 ?              ? 
 ?           }  ? 
 ?       }
读取显示在picture上面
private void button9_Click(object sender, EventArgs e)
 ?       {
 ?           byte[] imagebytes = null;
 ?           //打开数据库
 ?           SqlConnection con = new SqlConnection(@"server=.\SQLEXPRESS;AttachDbFilename=C:\USERS\DY\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\PROPERTY MANAGEMENT SYSTEM\PROPERTY MANAGEMENT SYSTEM\PMS.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True");
 ?           con.Open();
 ?           SqlCommand com = new SqlCommand("select ownerPic from [personal info] where ownerID='" + textBox1.Text + "'", con);
 ?           SqlDataReader dr = com.ExecuteReader();
 ?           while (dr.Read())
 ?           {
 ?               imagebytes = (byte[])dr.GetValue(1);
 ?           }
 ?           dr.Close();
 ?           com.Clone();
 ?           con.Close();
 ?           MemoryStream ms = new MemoryStream(imagebytes);
 ?           Bitmap bmpt = new Bitmap(ms);
 ?           pictureBox9.Image = bmpt;
 ?       }
------解决方案--------------------
Asp.net是用
Respone.writeBytes
要转成Bitmap 的话还真心没接触过
帮顶吧~~