11
A
回答
15
你有兩個問題:
- 的(可以理解的)混亂關於SQL Server中的
Image
數據類型。這實際上只是一個大的二進制對象(一個常見的BLOB)。爲了保存圖像(或其他任何東西)在這個列中,您必須先將它轉換爲byte[]
,然後將該字節數組存儲在列中。 - 您正在使用不推薦使用的
Image
數據類型。如果您可以控制此設計,請將其更改爲使用varbinary(MAX)
。雖然Image
類型仍在SQL Server 2008 R2中,但它在某些時候會從未來的版本中刪除。
爲了得到一個byte[]
代表的形象,嘗試了這一點:
byte[] data;
using(System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
data = stream.ToArray();
}
的data
變量現在包含圖像的二進制數據,你可以使用它作爲你的參數值。你可以在這裏採取額外的步驟(例如以JPEG等另一種格式保存),但這至少應該讓你開始。
檢索數據時,它也會作爲byte[]
返回,因此您需要再次將其轉換爲圖像。
byte[] data = ...;
Image image = Image.FromStream(new System.IO.MemoryStream(data));
1
0
該錯誤是很清楚的,存在來自GDI圖像對象爲一個字節數組沒有轉換(這是什麼SQL Server數據列類型Image真的是)。在將其添加爲參數之前,需要將Image對象轉換爲字節數組。
相關問題
- 1. Android:將圖像保存到數據庫
- 2. 將圖像保存到數據庫中
- 3. 將圖像保存到數據庫MVC3
- 4. 如何將圖像保存到數據庫中?
- 5. 如何使用SQLite和PHP將圖像保存到數據庫?
- 6. 如何通過Hibernate將圖像保存到SQLite數據庫?
- 7. 如何將本地圖像保存到在線數據庫中
- 8. 如何將圖像保存到我的數據庫中?
- 9. 如何將圖像保存到sqlite數據庫
- 10. 如何使用ASP.NET Core將圖像保存到數據庫?
- 11. 如何使用UWP將圖像保存到azure mysql數據庫
- 12. 如何將Kineticjs畫布上的圖像保存到數據庫?
- 13. 如何在android中將圖像保存到SQLite數據庫?
- 14. 如何將Telerik RadBinaryImage圖像保存到SQL Server數據庫
- 15. 如何將圖像路徑保存到數據庫? MVC。
- 16. 如何保存圖像數據庫
- 17. 如何將圖像保存到文件中並使用MVC3將圖像名稱保存到數據庫?
- 18. 如何將原始圖像數據保存到PNG圖像?
- 19. 保存圖像源到數據庫
- 20. 保存圖像到SQL數據庫
- 21. 保存圖像到數據庫
- 22. 如何將Handsontable保存到數據庫
- 23. 將圖像保存到核心數據?
- 24. 我應該將圖像二進制數據保存到數據庫還是將圖像保存爲文件?
- 25. 將圖保存到MySQL數據庫
- 26. android - 將圖像保存到圖庫
- 27. 將圖像保存到圖庫
- 28. 將圖像保存到我的圖庫
- 29. 將圖像保存到圖庫中
- 30. 如何將圖像文件保存在Postgres數據庫上?
+1有據可查。 – 2011-01-31 15:23:27
它是錯誤的原因? – yonan2236 2011-01-31 15:23:59