自己搜索一下image或者blob数据读写问题。或者找正在上计算机专业的、学过数据库使用入门课程的同学问一下。

解决方案 »

  1.   


            private static void TestDemo()
            {
                using (SqlConnection cn = new SqlConnection("Server=.;UID=sa;Pwd=frank;Database=northwind"))
                {
                    using (SqlCommand cmd = new SqlCommand(" UPDATE image_table SET pic=@pic where username=@username", cn))
                    {
                        cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { };//你需要修改的图片的二进制流(参考你的File.ReadAllBytes(this.pictureBox1.ImageLocation))
                        cmd.Parameters.Add("@username",SqlDbType.NChar).Value="你的用户名";
                        cn.Open();
                        int num= cmd.ExecuteNonQuery();
                        if (num > 0)
                        {
                            //MessageBox.Show("图片插入成功!");
                        }
                    }
                }
            }
      

  2.   

    可以不用数据库么? 我数据都在dbhelper 中 设置了        public static string connstring =ConfigurationManager.ConnectionStrings["MyDBConnString"].ConnectionString;
            public static SqlConnection Conn = new SqlConnection(connstring);//连接数据库对象
     
      

  3.   

    可以不用数据库么? 我数据都在dbhelper 中 设置了        public static string connstring =ConfigurationManager.ConnectionStrings["MyDBConnString"].ConnectionString;
            public static SqlConnection Conn = new SqlConnection(connstring);//连接数据库对象
     

    可以啊,图片说白了就是一段二进制数据,你想放哪都行 
      

  4.   

    你都知道update了,你还不能举一反三?
      

  5.   

    不是Insert都执行成功了么
    把Insert改成Update,后面还用传参的方式,不就行了
      

  6.   

    MSSQL Image  、Oracle blob 
      

  7.   


    丢个完整的例子 我怎么感觉很奇怪  新人 没搞过这种  以前做mYqq 都没有用到过图片上传
     
    cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { }; 这上传的是那个控件里的图片 求解我到数据库里去看 结果显示 <二进制数据> ?
      

  8.   

    把图像以二进制流形式存储到数据库中
    protected void imgbtnCreate_Click(object sender, ImageClickEventArgs e)
        {
            
            string PerHomeName=tbPerHomeName.Text;//获取空间名
           
            string PerHomeSign=txtPerSign.Text; //获取个性签名
            
            string imgPath = uploadFile.PostedFile.FileName;//获取文件件名
            
            string lastName = imgPath.Substring(imgPath.LastIndexOf(".") + 1);//获取文件上传后缀名
            SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
            conn.Open();
            if (uploadFile.PostedFile.FileName != "" && lastName.ToLower() == "jpg" || lastName.ToLower() == "gif")
            {
                if (uploadFile.PostedFile.ContentLength > 40960)
                {
                    Response.Write("<script language='javaScript'>alert('你上传的图片超过了40KB!')</script>");
                    return;
                }//CodeGo.net/
                int imgLength = uploadFile.PostedFile.ContentLength;//获取上传文件大小
                Byte[] imageData = new Byte[imgLength]; //定义Byte数组
                HttpPostedFile hp = uploadFile.PostedFile;//创建访问客户端上传文件的对象
                Stream imagestream = hp.InputStream;//创建数据流对象
                //将图片数据放到image数据对象实例中,其中0代表数组指针的起始位置,imagelength表示要读取流的长度
                imagestream.Read(imageData, 0, imgLength);
                string sqlstr = "insert into PerHomeDetail(PerHomeName,PerHomeSign,PerHomeLogo)values('" + PerHomeName + "','" + PerHomeSign + "',@ImageData)";
                SqlCommand comm = new SqlCommand(sqlstr, conn);
                comm.Parameters.Add("@ImageData", SqlDbType.Image);
                comm.Parameters["@ImageData"].Value = imageData;
                comm.ExecuteNonQuery();
                conn.Close();
                Response.Write("<Script>alert('个人空间创建成功!')</Script>");
            }
            else
            {
                Response.Write("<script>alert('上传头像不能为空,且格式必须为gif或jpg!');location='javascript:history.go(-1)'</script>");
            }
        }
      

  9.   


    丢个完整的例子 我怎么感觉很奇怪  新人 没搞过这种  以前做mYqq 都没有用到过图片上传
     
    cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { }; 这上传的是那个控件里的图片 求解我到数据库里去看 结果显示 <二进制数据> ?
    数据库显示二进制是对的,说明你数据已经插入进去了,要看的话需要将二进制数据转换成bitmap数据查看