Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数据集C中查找字段#_C#_Mysql_Datatable - Fatal编程技术网

C# 在数据集C中查找字段#

C# 在数据集C中查找字段#,c#,mysql,datatable,C#,Mysql,Datatable,我正在查询mySQL数据库并将响应存储在datatable中。我需要检查特定列以验证其是否为空。下面是我正在做的 DataTable dataTab = new DataTable("ServiceOrderProtocol"); string strQuery = "select OrderID, ServiceOrder, ExternalID, Project_key, ProjectType from ServiceOrder;"; using (MySqlCommand cmd =

我正在查询mySQL数据库并将响应存储在datatable中。我需要检查特定列以验证其是否为空。下面是我正在做的

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是否为null或空

如果您想知道表中的任何行在字段
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"));
IEnumerable AllNullExternaldRows=dataTab.AsEnumerable()
其中(r=>r.IsNull(“ExternalID”);


如果它不是一个
int
(顾名思义),而是一个
字符串
,并且您希望包含
null
和一个空字符串,请附加
| string.IsNullOrEmpty(r.Field(“ExternalID”)

一个表通常存储多行,您想知道其中是否有任何字段
ExternalID
为空或全部为空?可能重复@TimSchmelter是所有带有ExternalID的行都为空或blank@MarkC. 关于数据集是,与我们处理数据表的方式一样,我可以扩展它来检查空白。too@xyz:那么它是一根线?编辑了我的答案