【问题标题】:Check if datareader is empty [duplicate]检查datareader是否为空[重复]
【发布时间】:2015-06-04 14:21:36
【问题描述】:

我经常收到错误:

附加信息:数据为空。此方法或属性不能 在 Null 值上调用。

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

例如这是我的代码:

 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方法

标签: c# datareader


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢,效果很好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2012-01-09
  • 2021-08-12
  • 2018-04-18
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多