这里有什么博士。
DataRow[] dr = objds.Tables[0].Select("ProcessName = '" + tnProcName.Text + "'");
我得到的是 dr{System.Data.DataRow[4]} 而不是单独的行。
在 dr 中现在由行列表组成。我如何比较数据行中存在的列。
最佳答案
它返回与 Select 方法的第一个参数表示的选择条件相匹配的 DataRow 数组
DataRow[] dr = objds.Tables[0].Select("ProcessName = '" + tnProcName.Text + "'");
foreach(DataRow r in dr)
{
string procName = r["ProcessName"].ToString();
treeView1.Nodes.Add(procName);
}
Select 有四个重载来微调结果
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
可能不是你的情况,但请记住,如果表达式参数有一个单引号,那么你需要将它加倍以避免在计算表达式时出现语法错误
DataRow[] dr = objds.Tables[0].Select("ProcessName = '" +
tnProcName.Text.Replace("'", "''") + "'");
关于c# - ds.Tables[0].Select() 代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774887/