当前位置:编程学习 > C#/ASP.NET >>

求助二进制存储图片 参数无效

            int with = panel1.Width;
            int height = panel1.Height;
            Image im = new Bitmap(with, height);
            Graphics g = Graphics.FromImage(im);
            //g.CopyFromScreen(this.PointToScreen(new Point(0, panel1.Height)), new Point(0, 0), newSize(with,height));

            g.CopyFromScreen(this.PointToScreen(new Point(0, 0)), new Point(0, 0), new Size(with + panel1.Width, height + 50));
            
            g.Dispose();
            im.Dispose();

          
            

            string sql = string.Format("update userinfo set pic=@img  where id=" + DB.id+ "  ");

            SqlCommand cmd = new SqlCommand(sql, DB.con);

            //设定参数的类型为image
            SqlParameter prm = new SqlParameter("@img", SqlDbType.Image);

            //内存流
            MemoryStream ms = new MemoryStream();

            //image对象
            System.Drawing.Image img = im;


           //这里提示错误 为: 参数无效  请问 那里出错了
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            prm.Value = ms.GetBuffer();
            cmd.Parameters.Add(prm);
            DB.con.Open();

            //添加到数据库的sql语句

            int i = cmd.ExecuteNonQuery();
            if (i == 1)
            {


            }
            DB.con.Close(); --------------------编程问答--------------------  自己找到问题了 
  im.Dispose();

  
 应该放到最后 ;  --------------------编程问答-------------------- 解决了的话 我是来接分的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,