我正在圖像存儲在數據庫中。它工作正常。得到空字節值
之後,我正在檢索圖像。
爲此我使用字節數組從數據庫中獲取數據,如下面的代碼。
byte[] pic = new byte();
pic = DBNull.Value.Equals(mRS.Fields["Img"]) ? "" : mRS.Fields["Img"].Value;
但它給錯誤。
任何人都可以幫助我嗎?
我正在圖像存儲在數據庫中。它工作正常。得到空字節值
之後,我正在檢索圖像。
爲此我使用字節數組從數據庫中獲取數據,如下面的代碼。
byte[] pic = new byte();
pic = DBNull.Value.Equals(mRS.Fields["Img"]) ? "" : mRS.Fields["Img"].Value;
但它給錯誤。
任何人都可以幫助我嗎?
有些事情錯在你的代碼:
1- byte[] pic = new byte[size]
2- ""
不是一個byte []它是一個空字符串。
做這樣的:
var pic = DBNull.Value.Equals(mRS.Fields["Img"]) ? new byte[0] : mRS.Fields["Img"].Value;
不要使用基本對象Equals
方法,而不是僅僅以一個標準的平等的比較:
pic = mRS.Fields["Img"].Value == DBNull.Value ? null : mRS.Fields["Img"].Value;
隨着Equals
,你檢查,看看是否兩個對象的引用在相同的對象,是一種不同類型的比較。
我不認爲有可能把""
放入一個byteArray中。 ""
是與null
不同的字符串。使用下面的代碼替換「」替換爲空,並修改DBNull檢查。
byte[] pic = new byte()[??];
pic = (mRS.Fields["Img"] == DBNull.Value) ? null : mRS.Fields["Img"].Value;
它給了什麼錯誤? – Aruna
不認爲允許將空字符串放入字節數組中 –