在一个范围对象中,最小值(5)必须小于或等于最大值(-1)吗?

11
我在使用datatable时,在内部foreach中使用Select时出现错误。
这是我迄今为止尝试的代码。
foreach (DataRow drOuter in dtLogic.Select("Name='>' OR Name='='"))
{
     foreach (DataRow drInner in dtLogic.Select("ParentId=" + Convert.ToInt64(drOuter["Id"]) + ""))
     {  

     }
}

当我在 Immediate Window 中检查时,Convert.ToInt64(drOuter["Id"]) 的值为 2107362180

那么为什么会抛出下面的错误?

enter image description here

1个回答

18

您应该检查字符串而不是数字,因此在查询中插入单引号 expr='string'

foreach (DataRow drInner in dtLogic.Select("ParentId='" + Convert.ToInt64(drOuter["Id"]) + "'"))
{  

}

进行此编辑后,您可以按照@Christos的答案进行替换。

Convert.ToInt64(drOuter["Id"])

随着

drOuter["Id"].ToString()

1
是的。我在datatable.Select()中漏掉了单引号。由于该列仅包含int值,因此Convert.ToInt64(drOuter["Id"])仍然有效。非常感谢@faby。 - Shilpa Praneesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接