小弟初学C#遇到一个读写数据库的小问题,想请教各们大大
我的数据库里以前存了很多的图片 每张图片都非常大,现在想把图片进行压缩成800*600的大小再重新存入数据库内
SqlCommand _sql_pro = new SqlCommand("Select * From Product order by id desc", _SqlConnection);
_SqlConnection.Open();
SqlDataReader sqlDateReader_pro = _sql_pro.ExecuteReader();
Image image = null;
Image newImage = null;
while (sqlDateReader_pro.Read())
{
if (sqlDateReader_pro["Photo"].ToString() == null || sqlDateReader_pro["Photo"].ToString() == "")
{
image = null;
}
else
{
MemoryStream ms = new MemoryStream((byte[])sqlDateReader_pro["Photo"]);
image = Image.FromStream(ms, true);
}
if (image != null)
{
int intWidth = 800;
int intHeight = (intWidth * image.Height) / image.Width;
//int intHeight = 70;
newImage = image.GetThumbnailImage(intWidth, intHeight, null, new IntPtr());
}
else
{
newImage = null;
}
}
上面一段是我读取出来了 已经转成800宽的了 但接下来写入到数据库里就不会了,也就是读一条写一条 写到原来图片对应的地方
紧急求助了 希望大哥们帮忙了
------解决方案--------------------我个人认为可以,先把修改好的图片放到Dictionary<id,image>()里面。
等全部修改好了。再从dictionary里拿出iamge根据id
从新update一遍。
不知道有没有更好的方法 仅供参考
------解决方案--------------------你就多等一会咯。又不是每次都要这样等。你不会是整天都去修改的吧。
如果读一条改一条。恐怕是没有一起读好,然后一起update吧。
你看看等下有没有更好的方法。
------解决方案--------------------缩略图保存到文件夹,再保持路径到数据库
或显示时等比例缩放
------解决方案--------------------