我試着插入我的表從picturebox
一些圖像:插入圖片框圖片到SQL Server數據庫
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, ImageFormat.Jpeg);
byte[] photo = new byte[ms.Length];
ms.Position = 0;
ms.Read(photo, 0, photo.Length);
command.CommandText = "INSERT INTO ImagesTable (Image) VALUES('" + photo + "')";
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
我得到了數據庫中的以下結果:
ID Image
6 0x53797374656D2E427974655B5D
然而,當我插入一些圖片使用SQL script
:
insert into ImagesTable (Image)
SELECT BulkColumn
FROM Openrowset(Bulk 'C:\pinguins.jpg', Single_Blob) as img
然後插入的數據如下所示:
ID Image
4 0xFFD8FFE000104A464946000102010[.....]
這裏二進制數據要長得多。
當我從數據庫中檢索該圖像回picturebox
,它正確地顯示出來:
command.CommandText = "SELECT Image FROM ImagesTable where ID = 4";
byte[] image = (byte[])command.ExecuteScalar();
MemoryStream ms1 = new MemoryStream(image);
pictureBox2.Image = Bitmap.FromStream(ms1);
但隨着ID = 6
(從pictureBox
加載)檢索圖像時,我得到的錯誤。
ArgumentException: Parameter is not valid.
我在做什麼錯?
我會很感激任何建議。
做你長了這個解決辦法嗎? – anand360