我有此查询:使用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