C# 进行datarow Select()查询
问题是我有一个数据行数组,其中包含ID和父ID作为其字段 我使用了以下代码,它返回了正确的值C# 进行datarow Select()查询,c#,asp.net,C#,Asp.net,问题是我有一个数据行数组,其中包含ID和父ID作为其字段 我使用了以下代码,它返回了正确的值 datarow [] dt = datarow.select(" Parent = '0' "); 我只想选择那些没有“0”作为其父行的行。我知道sql我不了解select函数的工作原理 试试这个: DataRow[] dt = dt.Select("Parent != '0'"); dt[0][Your Column Name] = your value; 试试这个: DataRow[] dt
datarow [] dt = datarow.select(" Parent = '0' ");
我只想选择那些没有“0”作为其父行的行。我知道sql我不了解select函数的工作原理 试试这个:
DataRow[] dt = dt.Select("Parent != '0'");
dt[0][Your Column Name] = your value;
试试这个:
DataRow[] dt = dt.Select("Parent != '0'");
dt[0][Your Column Name] = your value;
尝试使用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);
DataTable dt=新的DataTable(“示例”);
添加(“ID”,typeof(int));
添加(“ParentID”,typeof(int));
dt.Rows.Add(1,0);
dt.行。添加(1,1);
var equal0=dt.Rows.Cast(),其中(x=>x.Field(“ParentID”)==0);
var notEqual0=dt.Rows.Cast(),其中(x=>x.Field(“ParentID”)!=0);
您将获得一个数据行列表,其中父ID等于0,而列表不等于0
编辑:
我看到您正在尝试选择-何处是备选方案,并执行您想要执行的操作。这将基于bool条件进行过滤,以便您可以在ParentID大于x或小于等的情况下进行过滤
我希望您会觉得这很有用。尝试使用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);
DataTable dt=新的DataTable(“示例”);
添加(“ID”,typeof(int));
添加(“ParentID”,typeof(int));
dt.Rows.Add(1,0);
dt.行。添加(1,1);
var equal0=dt.Rows.Cast(),其中(x=>x.Field(“ParentID”)==0);
var notEqual0=dt.Rows.Cast(),其中(x=>x.Field(“ParentID”)!=0);
您将获得一个数据行列表,其中父ID等于0,而列表不等于0
编辑:
我看到您正在尝试选择-何处是备选方案,并执行您想要执行的操作。这将基于bool条件进行过滤,以便您可以在ParentID大于x或小于等的情况下进行过滤
我希望您觉得这很有用。我们是否可以在
DataRow[]
数组上直接选择或Where
,而不是首先构建DataTable
?我们是否可以直接在DataRow[]上选择或Where
数组而不是先构建数据表
?