我正在查询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字段是否为空。

最佳答案

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

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"));

如果它不是ExternalID(如名称所示)而是int,并且您希望包含string和空字符串,则追加null

关于c# - 在数据集C#中寻找一个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43760993/

10-12 02:49