存储和显示二进制图片在数据库中,这个需求挺常见的。如果你也想在数据库里图片,尤其是存储二进制图片并通过前端显示,SQL Server 2005 其实了好的支持。使用VARBINARY(MAX)
字段类型,轻松将图片存储为二进制数据,没什么难度。,你得在数据库里创建一个表,存储图片和,像这样:
CREATE TABLE Images (
ID INT PRIMARY KEY,
ImageData VARBINARY(MAX),
Description NVARCHAR(255)
);
,把图片转换成二进制数据再存进去,代码看起来像这样:
public byte[] ImageToByteArray(Image image) {
using (MemoryStream ms = new MemoryStream()) {
image.Save(ms, image.RawFormat);
return ms.ToArray();
}
}
,使用 ADO.NET 将图片数据插入到数据库,简单明了。显示图片的时候,直接从数据库读取二进制数据,再转成图片显示在前端的DataGridView
里。你只需要在CellFormatting
事件里下图片显示。
总结来说,这个操作其实挺简单,关键在于理解VARBINARY(MAX)
的使用,合理地图片数据。优化和错误可以根据需要做。