有没有人知道如何在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). sql Server CE不支持Max,所以我做了varbinary(8000).
稍后注意:虽然sql Server CE不支持varbinary(max). Varbinary(8000)对于许多图像来说都不够大.我确实最终使用了Image类型,即使它计划被弃用.一旦ms在移动平台上提供合理的交替,我将考虑切换.
解决方法
这是一篇MSDN文章,解释了如何:
http://support.microsoft.com/kb/318639
不幸的是,这个例子是在VB中,但我相信你可以了解如何做到这一点.
我会说二进制数据类型可以用于存储图像.