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

WinForm怎么把图片通过PictureBox添加到数据库中啊???求救~~~~~~

[img=http://hi.csdn.net/space-9430372-do-album-picid-914742.html][/img]
--------------------编程问答-------------------- [img=http://hi.csdn.net/space-9430372-do-album-picid-914742.html][/img] --------------------编程问答--------------------

MemoryStream ms = new MemoryStream();
                picturebox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                ms.Dispose();
                cmd.parameters[0].Value = ms.ToArray();
--------------------编程问答-------------------- 一般情况下,存入数据库的应该不是图片,而是图片在本地的路径。 --------------------编程问答-------------------- 你要把图片先转换成二进制,然后存到数据库的varbinary(max)字段。
在存的时候用sql param形式

举个例子:


public static void SavePhoto(string userName, string passWord, Image image)
        {
            string sql = "INSERT INTO PIMUser(UserName, Password, UserPhoto) values(@UserName, @Password, @UserPhoto)";
            SqlParameter[] param = new SqlParameter[3];
            param[0] = new SqlParameter("@UserName", SqlDbType.NVarChar,32);
            param[0].Value = userName;
            param[1] = new SqlParameter("@Password", SqlDbType.VarChar,32);
            param[1].Value = passWord;
            param[2] = new SqlParameter("@UserPhoto",SqlDbType.VarBinary);
            param[2].Value = ImageToGZip(image);

            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = ConfigurationManager.AppSettings["connString"];

            SqlCommand commd = new SqlCommand(sql, conn);
            commd.Parameters.Add(param[0]);
            commd.Parameters.Add(param[1]);
            commd.Parameters.Add(param[2]);

            try
            {
                conn.Open();
                commd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        } --------------------编程问答-------------------- 存图片路径吧,存图片回很占数据库容量的,一般都是存的路径,然后把图片放到对应目录下面 --------------------编程问答--------------------
引用 3 楼 remember_me 的回复:
一般情况下,存入数据库的应该不是图片,而是图片在本地的路径。
正解 您可以加入本群:28851380 大家一起学习,共同成长。 --------------------编程问答-------------------- 方法一:存图片路径,缺点是当用户把图片搞走了,或神马的图片坏了就显示不出来了,优点是不会给带来数据库负担
方法二:二进制存数据库,缺点是会使数据库变的很大,如果是access数据库的话不建议存二进制,优点是图片不会被损坏~
--------------------编程问答--------------------
引用 5 楼 nyistzhang 的回复:
存图片路径吧,存图片回很占数据库容量的,一般都是存的路径,然后把图片放到对应目录下面


补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,