检查datareader是否为空

时间:2015-06-04 14:21:36

标签: c# datareader

我经常收到错误:

  

其他信息:数据为空。这种方法或属性不能   被称为Null值。

当我尝试接收信息时。如何检查datareader是否为空。

例如这是我的代码:

 while (rd.Read())
            {
                if (rd.HasRows)
                {
                    foundInformation[0] = rd.GetString(0);
                    foundInformation[1] = rd.GetString(1);
                }
                else
                {
                    foundInformation[0] = "nvt";
                    foundInformation[1] = "nvt";
                }               
            }

如何检查rd.GetString(0)是否为空?

三江源。

1 个答案:

答案 0 :(得分:6)

在调用GetString之前,需要调用IsDBNull。

if (!rd.IsDBNull(0))
{
  //...
}

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.isdbnull%28v=vs.110%29.aspx