私はこのクエリを持っている:C#を使用してデータベースから画像を読み込む?
SELECT PICTURE FROM LOGO WHERE LOGONO = ?
( "PICTURE" は、SQL Serverのimage列である)
し、データを読み込むために、このコード:
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メソッドを呼び出す前にnullのカラムの値がある場合
コールこの方法は、(例えばは、GetByteは、などGETCHAR)がエラーを発生させる避けるために参照すること。
例外をトリガーせずに列にnullが含まれていないことを確認するにはどうすればよいですか?私は間違った方法でこれについて行くのですか?
DOH!コーヒータイム。 – ilitirit