是否有人知道如何將圖像存儲在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