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] --------------------编程问答--------------------
--------------------编程问答-------------------- 一般情况下,存入数据库的应该不是图片,而是图片在本地的路径。 --------------------编程问答-------------------- 你要把图片先转换成二进制,然后存到数据库的varbinary(max)字段。
MemoryStream ms = new MemoryStream();
picturebox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Dispose();
cmd.parameters[0].Value = ms.ToArray();
在存的时候用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();
}
} --------------------编程问答-------------------- 存图片路径吧,存图片回很占数据库容量的,一般都是存的路径,然后把图片放到对应目录下面 --------------------编程问答-------------------- 正解 您可以加入本群:28851380 大家一起学习,共同成长。 --------------------编程问答-------------------- 方法一:存图片路径,缺点是当用户把图片搞走了,或神马的图片坏了就显示不出来了,优点是不会给带来数据库负担
方法二:二进制存数据库,缺点是会使数据库变的很大,如果是access数据库的话不建议存二进制,优点是图片不会被损坏~
--------------------编程问答--------------------
顶
补充:.NET技术 , C#