是否有人知道如何将图像存储在SQL Server CE数据库中的示例?将图像存储在SQL Server CE数据库中
列应该是什么数据类型? (我猜是二进制的。)
我使用Linq-To-Datasets。是否有可能使用它将图像放入数据库并在稍后再将其拉出?
感谢您的任何建议。
这是我如何做的:回来了,我再次这样做
MemoryStream stream = new MemoryStream();
myBitmapImage.Save(stream, ImageFormat.Png);
myInsertLinqToDataSetRow.IMAGE_COLUMN = stream.ToArray();
加载它:
MemoryStream stream = new MemoryStream(myLinqToDataSetRow.IMAGE_COLUMN);
myBitmapImage.SignatureImage = new Bitmap(stream);
我发现了一个页面上MSDN是说Image列类型正在消失,你应该使用varbinary(MAX)。 Max不支持SQL Server CE,所以我做了varbinary(8000)。
后续注意:尽管varbinary(max)在SQL Server CE上不受支持。 Varbinary(8000)对于许多图像来说不够大。即使计划弃用,我也最终使用了Image类型。一旦ms在移动平台上提供了一个合理的替代品,我将考虑切换。
合理的想法,如果我存储参考数据。但是,这是用于当前窗口的屏幕截图。我需要他们在数据库中保持组织。 – Vaccano 2010-05-04 15:57:34
+1:我不太喜欢这样做,最大的问题(图像的多个副本)**可以简单地通过**创建一个表格与一个id和图像解决。 **虽然将来会弃用图像类型和varbinary大小的限制,但我认为它实际上是最佳选择**。多么可悲的MS .. – Diego 2011-09-19 21:47:58
我在我的一个应用程序中发现的一些用于停止重复显示同一图像的东西是将图像信息放在单独的表格上,然后将所有内容都引用到该表格中。我有图像的散列,二进制内容和一个id。一旦图像在数据库中,而不是复制二进制内容,我只是添加另一个引用该图像。 – JLopez 2013-08-13 18:14:39