2012-08-30 56 views
0

事情是我有一个数据行数组,其中包含ID和父id作为其字段。制作数据行选择()查询

我用下面的代码,并将其返回正确的价值观,

datarow [] dt = datarow.select(" Parent = '0' "); 

我只想选择其中没有“0”作为其Parent.I知道SQL我不是那些行了解选择功能的工作原理。

+0

'Parent'是否也是'null'? –

回答

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); 

你得到父数据行的列表IDS这等于0,这不等于0

编辑列表:

我看你是ATTE mpting选择 - 哪里是替代品,并做你想做的事情。这个过滤器基于一个布尔条件,所以你可以做的地方ParentID大于x或小于等等

我希望你觉得这个有用。

+1

有可能我们可以直接在DataRow []数组上选择''或'Where',而不是先建立'DataTable'? – Blaise

1

尝试这种::

DataRow[] dt = dt.Select("Parent != '0'"); 
dt[0][Your Column Name] = your value;