检查datareader是否为空

Check if datareader is empty

我经常收到错误:

Additional information: Data is Null. This method or property cannot be called on Null values.

当我尝试接收信息时。如何检查数据读取器是否为空。

例如这是我的代码:

 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) 是否为空?

谢谢。

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

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

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