2011-02-25 42 views
0

這裏我有一個要求從Oracle DB讀取數據。在那一列被定義爲BLOB.using數據我需要框架插入查詢,就像這樣「insert into emp values('100','John', eMP_PIC); 這裏emp_pic被定義爲BLOB.Please建議我一些想法的隻字不提我使用C#4.0如何在C#4.0中從Oracle獲取blob數據?

+0

*你問什麼?如何閱讀或如何寫blob?你嘗試過什麼嗎?你有沒有嘗試過傳遞值作爲參數? – 2016-03-22 08:52:36

+0

另外,您正在使用哪個提供商? Oracle的?微軟的?像Devart這樣的第三方? – 2016-03-22 08:53:52

回答

-1

嘗試使用LINQ到SQL,這是非常有用的

+0

這對我有幫助嗎? – 2011-02-25 10:36:34

+0

你會跳過很多「硬」操作 – 2011-03-13 08:01:26

+0

@Arbejdsglæde什麼「硬」操作? OP詢問如何讀取blob,而不是如何避免編寫SQL語句。 blob等同於'varbinary(max)/ image',通常不應該用一個簡單的SELECT讀取。也許這應該是一個評論,而不是一個答案? – 2016-03-22 08:50:21

0

也許你可以使用。基於此鏈接此示例項目。我希望這幫助。

http://www.codeproject.com/Articles/13365/Insert-retrieve-an-image-into-from-a-blob-field-in

如果你想使用OracleDataReader只是用它轉換爲圖像的第一個字節的二進制大對象數據中獲取價值:

private Image byteArrayToImage(byte[] byteArrayIn) 
     { 
      MemoryStream ms = new MemoryStream(byteArrayIn); 
      ms.Position = 0; 
      Image returnImage = Image.FromStream(ms); 
      return returnImage; 
     } 

然後讀取這樣的數據blob:

picFileData.Image = byteArrayToImage(dr["EMP_PIC"] as byte[]); // dr is OracleDataReader dr; 

picFileData是從Visual Studio和EMP_PIC是圖片框在Oracle中的blob列

+0

這個答案如何與問題相關?該代碼不顯示如何插入或讀取數據在第一個地方 – 2016-03-22 08:50:57

+0

這個答案是真正相關的,我用它在我的項目和工作 – aminvincent 2016-03-22 09:02:25

+0

使用*什麼*在您的項目?這個答案中沒有ADO.NET代碼。此外,OP詢問如何*插入* BLOB,而不是讀取它。只是指向一個沒有任何解釋的鏈接的答案不被認爲是高質量 – 2016-03-22 09:02:57

相關問題