我正在查询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/