【问题标题】:Looking for a field in the Dataset C#在 C# 数据集中寻找一个字段
【发布时间】:2017-10-01 08:11:12
【问题描述】:

我正在查询 mySQL 数据库并将响应存储在数据表中。我需要检查特定列以验证它是空白还是 null。下面是我正在做的事情

DataTable dataTab = new DataTable("ServiceOrderProtocol");

string strQuery = "select OrderID, ServiceOrder, ExternalID, Project_key, ProjectType from ServiceOrder;";

using (MySqlCommand cmd = new MySqlCommand(strQuery, conn))
{
using (MySqlDataAdapter sqlDa = new MySqlDataAdapter(cmd))
 {
 sqlDa.Fill(dataTab);
 return dataTab;
 }}

现在我不确定如何检查从存储在 dataTab 中的查询返回的字段 ExternalID 是否为空或空。

【问题讨论】:

标签: c# mysql datatable


【解决方案1】:

如果您想知道表中的任何行是否在字段ExternalID 中包含空值:

bool anyNullExternalID = dataTab.AsEnumerable().Any(r => r.IsNull("ExternalID"));

如果你想知道是否全部为空:

bool allNullExternalID = dataTab.AsEnumerable().All(r => r.IsNull("ExternalID"));

如果你想要它为空的所有行:

IEnumerable<DataRow> allNullExternalIDRows = dataTab.AsEnumerable()
    .Where(r => r.IsNull("ExternalID"));

如果不是int(顾名思义)而是string,并且您想包含null和一个空字符串,请附加|| string.IsNullOrEmpty(r.Field&lt;string&gt;("ExternalID"))

【讨论】:

  • 我可以扩展它来检查空白吗
  • @xyz:所以它是一个字符串?编辑了我的答案
猜你喜欢
  • 2012-03-04
  • 1970-01-01
  • 2010-12-27
  • 2011-02-19
  • 2018-05-17
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多