问题是我有一个数据行数组,其中包含ID和父ID作为其字段。
我使用了以下代码并返回了正确的值
datarow [] dt = datarow.select(" Parent = '0' ");
我想只选择那些没有'0'作为其Parent的行。我知道sql我没有得到select函数的工作原理。
答案 0 :(得分:4)
尝试使用LINQ - 这是一个使用的示例,我想这就是你想要的:
DataTable dt = new DataTable("Example");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("ParentID", typeof(int));
dt.Rows.Add(1, 0);
dt.Rows.Add(1, 1);
var equal0 = dt.Rows.Cast<DataRow>().Where(x => x.Field<int>("ParentID") == 0);
var notEqual0 = dt.Rows.Cast<DataRow>().Where(x => x.Field<int>("ParentID") != 0);
您将获得父ID中等于0的数据行列表以及不等于0的列表。
编辑:
我看到你正在尝试选择 - 在哪里可以选择并做你想做的事情。这会根据bool条件进行过滤,因此您可以在ParentID大于x或小于等的情况下执行此操作。
我希望你觉得这很有用。
答案 1 :(得分:1)
试试这个::
DataRow[] dt = dt.Select("Parent != '0'");
dt[0][Your Column Name] = your value;