有谁知道如何在 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 在移动平台上提供了一个合理的选择,我将考虑切换。