ds.Tables [0] .Select()表示什么

时间:2014-02-14 09:00:33

标签: c# asp.net

博士来到这里。

DataRow[] dr = objds.Tables[0].Select("ProcessName = '" + tnProcName.Text + "'");

我正在获取dr {System.Data.DataRow [4]}而不是单独的行。

现在在dr中包含行列表。如何比较数据行中的列。

2 个答案:

答案 0 :(得分:2)

它返回一个DataRow数组,该数组与Select方法

的第一个参数表示的选择标准相匹配
DataRow[] dr = objds.Tables[0].Select("ProcessName = '" + tnProcName.Text + "'");
foreach(DataRow r in dr)
{
   string procName = r["ProcessName"].ToString();
   treeView1.Nodes.Add(procName);

}

选择有四个重载来微调结果

DataTable.Select(); // return all (same as dataTable.Rows)
DataTable.Select(filter); //The above one
DataTable.Select(filter, sort) //Filtered and/or sorted
DataTable.Select(filter, sort, rowstate) // Filtered and/or sorted and/or in a particular state

Here the MSDN docs

可能不是你的情况,但请记住,如果表达式参数只有一个引号,那么你需要加倍它以避免在计算表达式时出现语法错误

DataRow[] dr = objds.Tables[0].Select("ProcessName = '" + 
               tnProcName.Text.Replace("'", "''") + "'");

答案 1 :(得分:0)

.Select将返回带有过滤值的Datarows数组" ProcessName ='" + tnProcName.Text +"'"