我有此查詢:使用C#從數據庫讀取圖像?
SELECT PICTURE FROM LOGO WHERE LOGONO = ?
( 「圖片報」 在SQL Server中的圖像列)
而這種代碼讀取數據:
using (DbDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
if (!reader.IsDBNull(0))
{
byte[] buffer = new byte[8000];
while (reader.GetBytes(0, 0, buffer, 0, 8000) > 0)
picture.AddRange(buffer);
}
}
}
的問題是InvalidOperationException(「行/列中不存在數據」)總是在列中包含null時在reader.IsDBNull(0)語句上拋出。
MSDN說:
調用此方法,以查看是否有調用輸入get方法之前空列值(如GetByte,getchar函數,等等),以避免引發錯誤。
如何在不觸發異常的情況下檢查列是否不包含空值?我是否以錯誤的方式解決了這個問題?
DOH!咖啡時間。例如 – ilitirit 2009-06-10 17:17:53