我收到此错误:无法读取数据。数据是空的。无法在Null值上调用此方法或属性。
我知道数据库在某些字段中具有NULL值。我只想处理它们并继续填写下一行。这是一些代码:
rdr是SqlDataReader
if (rdr[EmailID] != null)
{
//this blows up on this line on the 32nd iteration of the loop when searching for an extended group.
EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue(rdr.GetString(EmailID));
}
else
{
EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue("No.Email");
}
我可以使用存储过程来处理这个问题,但我真的很想知道如何处理这个问题。以上是我尝试过的众多迭代之一。 感谢。
答案 0 :(得分:0)
我想出来了。 IsDBNull似乎在照顾它。我在调试中运行代码来检查序数所在的位置。在这种情况下是14岁。
int EmailID = rdr.GetOrdinal("EmailID");
Then when using GetString:
if (!(rdr.IsDBNull(14)))
{
EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue(rdr.GetString(EmailID));
}
else
{
EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue("No Email");
}
我希望这会对某人有所帮助。