我在用
dt1.AsEnumerable().Where(
Function(row) Not dt2.AsEnumerable().Select(
Function(r) r.Field(Of String)("Otsikko")
).Any(
Function(x) x = row.Field(Of String)("Otsikko")
)
).CopyToDataTable()
直到A列和B列都匹配之前,它才可以正常工作。这导致“ CopyToDataTable()”没有任何要复制的内容并提供错误。
如何添加IF以检查我要复制的项目是否为空。如果它不为空,我希望它复制数据表,如果它是查询,则应向前移动。
我是这一切的新手!因此,任何帮助表示赞赏。
谢谢你提前。
拉里
假设我已经正确理解了这个问题,那么你运行了下面的查询,除了结果为空之外,它可以正常运行。然后,此操作将失败,因为.CopyToDataTable()
没有要复制的内容。
dt1.AsEnumerable().Where(
Function(row) Not dt2.AsEnumerable().Select(
Function(r) r.Field(Of String)("Otsikko")
).Any(
Function(x) x = row.Field(Of String)("Otsikko")
)
).CopyToDataTable()
一种解决方案是使用带有以下代码的决策或if语句,如果其中包含数据,则返回true,然后你可以使用上面的代码来提取它,如果返回false,则可以在不进行处理的情况下进行处理。抛出错误
dt1.AsEnumerable().Where(
Function(row) Not dt2.AsEnumerable().Select(
Function(r) r.Field(Of String)("Otsikko")
).Any(
Function(x) x = row.Field(Of String)("Otsikko")
)
).Any()
谢谢你,先生。你是天使!
它能为您提供帮助吗?它解决了您面临的问题吗?如果可以的话,您可以标记/接受为答案。