2012-01-23 80 views
2

希望这是一个容易有没有一种方法来测试的。‘使用的DataRow空’字段中输入以下做工精细测试针对与空值的字段?不幸的是,我在处理与数据要么填充或仅仅是“空”的栏目。有没有在C#中我失去了一个办法?谢谢的DataRow:检查空(不是“空)的数据集字段

if (Particle.Tables.Count == 0 || pDr.ItemArray[1].ToString() == "") 
tblParticle.Append("No Data"); 
+0

重复的? http://stackoverflow.com/questions/2326341/c-sharp-datarow-empty-check – gabsferreira

+1

string.IsNullOrEmpty()为null或零长度字符串 –

+1

如果你决定要一个DataRow返回或通过测试利用devGabriel发布了这个令人敬畏的示例的链接,希望所有这些都有所帮助 – MethodMan

回答

5

可以使用stirng.isNullorEmpty检查空的领域。 String.isNullorEmpty

if (Particle.Tables.Count == 0 || string.isNullorEmpty(pDr.ItemArray[1].ToString())) 
{ 
    tblParticle.Append("No Data"); 
} 

+0

我建议包装if语句的代码块{}事件,他可能需要做一些不同的东西后来在路上... – MethodMan

+0

目前,虽然这一切都有助于,它仍然是不为我工作。没有解释为什么。我可以看到数据库中的字段是空的,我在技术上测试这个“应该”的工作?如果我测试了这个以及我不得不从头开始并将数组位置更改为已知“空值”的列,它就可以工作。 –

3
if (string.IsNullOrEmpty(pDr.ItemArray[1].ToString())) 
{ 
    tblParticle.Append("No Data"); 
} 
else 
{ 
    //else do something else 
} 

检查NULL不会伤害记住,空和空是两回事

+1

难道你没有忘记“字符串”。在IsNullOrEmpty方法之前? – gabsferreira

+0

是比较遗憾的是..我打字的速度比我的想法..感谢devGabriel – MethodMan

+0

欢迎您! – gabsferreira

1

以下假定我们正在谈论的字符串(VARCHAR/CHAR)列:

  • 如果你不在乎它是否为空或空字符串,总要一个空字符串回,你可以使用DataRow["name"].ToString()
  • 如果你希望你的字符串对象成为空或空就像字段的值,可以使用DataRow["name"] as string
  • 如果你想在NULL的情况下例外,你也许可以使用(string) DataRow["name"]