トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

6-1 DataTableのselectメソッドとComputeメソッド

C#のサンプル

DataTable.SelectメソッドDataTable.Computeメソッド
のサンプルです。


ソース

using System;

class Program
{
    static void Main()
    {
        var dt = new System.Data.DataTable();
        dt.Columns.Add("ID", typeof(String));
        dt.Columns.Add("Val", typeof(int));

        dt.Rows.Add("1",10);
        dt.Rows.Add("2",20);
        dt.Rows.Add("3",10);
        dt.Rows.Add("4",20);

        Console.WriteLine("***sample1***");
        foreach (var each in dt.Select("Val=20")) {
            Console.WriteLine(each["ID"]);
        }

        Console.WriteLine("***sample2***");
        foreach (var each in dt.Select("ID in('1','3')")) {
            Console.WriteLine(each["ID"]);
        }

        Console.WriteLine("***sample3***");
        Console.WriteLine(dt.Compute("max(ID)", null));

        Console.WriteLine("***sample4***");
        Console.WriteLine(dt.Compute("max(ID)", "Val=10"));
    }
}


実行結果

***sample1***
2
4
***sample2***
1
3
***sample3***
4
***sample4***
3


解説

LINQほど高機能ではありませんが、使えそうですね。

シングルコートでくくった文字列の中で、文字としてのシングルコートを指定する際には、
シングルコートのエスケープが必要なようです。

DataColumn.Expressionプロパティ