最近碰到个问题,一个datatable中
column1   column2       column3
1          test1         test01
2          test2         testo2
3           test1        test03
4           test3          test04
其中column1为主键,要求能从datatable中查出字段column2相同的所有datarow
应该如何写.

解决方案 »

  1.   

    MSDN:
    获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。 命名空间:System.Data
    程序集:System.Data(在 system.data.dll 中)语法
     
    C# 
    public DataRow[] Select (
    string filterExpression,
    string sort
    )
     参数
    filterExpression
    要用来筛选行的条件。 sort
    一个字符串,它指定列和排序方向。 返回值
    与筛选表达式相匹配的 DataRow 对象的数组。 
    备注
    若要形成 filterExpression 参数,请使用与创建 DataColumn 类的 Expression 属性值相同的规则。Sort 参数也使用与创建类的 Expression 字符串相同的规则。示例
    下面的示例使用筛选表达式来返回 DataRow 对象的数组。
    C#  复制代码 
    private void GetRowsByFilter()
    {
        DataTable table = DataSet1.Tables["Orders"];    // Presuming the DataTable has a column named Date.
        string expression = "Date > '1/1/00'";    // Sort descending by column named CompanyName.
        string sortOrder = "CompanyName DESC";
        DataRow[] foundRows;    // Use the Select method to find all rows matching the filter.
        foundRows = table.Select(expression, sortOrder);    // Print column 0 of each returned row.
        for(int i = 0; i < foundRows.Length; i ++)
        {
            Console.WriteLine(foundRows[i][0]);
        }
    }
      
      

  2.   

    select方法需要知道具体字段的值