9

我在foreach使用Selectin时遇到内部错误datatable

这是我到目前为止尝试过的代码

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

     }
}

我签入Convert.ToInt64(drOuter["Id"])时值在哪里。那为什么它会抛出以下错误?2107362180Immediate Window

在此处输入图像描述

4

1 回答 1

15

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

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

}

在此编辑之后,您可以替换为@Christos 回答说

Convert.ToInt64(drOuter["Id"])

drOuter["Id"].ToString()
于 2015-01-05T11:38:07.367 回答