VB.NET
'仮データテーブル作成
Dim table As New DataTable("tb001") table.Columns.Add("ID", GetType(Int32)) table.Columns.Add("QUANTY", GetType(Int32)) table.Columns.Add("NAME", GetType(String)) table.Columns.Add("DATE", GetType(DateTime)) Dim newRow As DataRow = table.NewRow() newRow("ID") = 1 newRow("QUANTY") = 3 newRow("NAME") = "会社名1" newRow("DATE") = "1979, 1, 31" ' データを追加 table.Rows.Add(newRow) Dim newRow2 As DataRow = table.NewRow() newRow2("ID") = 2 newRow2("QUANTY") = 2 newRow2("NAME") = "会社名2" table.Rows.Add(newRow2) Dim newRow3 As DataRow = table.NewRow() newRow3("ID") = 3 newRow3("QUANTY") = 2 newRow3("NAME") = "会社名3" table.Rows.Add(newRow3) ' 日付とOrderIDを抽出条件とする Dim expression As String = "DATE = '1/31/1979' or ID = 2" ' NAMEでソートする(ソートしない場合はNothing) Dim sortOrder As String = "NAMEASC" Dim foundRows As DataRow() ' 上記の条件でRowsを抽出 foundRows = table.Select(expression, sortOrder) ' 抽出したデータを表示 For i As Integer = 0 To foundRows.Length - 1 Console.WriteLine(foundRows(i)(2)) Next
C#
// 仮テーブル作成
DataTable table = new DataTable("Orders"); table.Columns.Add("OrderID", typeof(Int32)); table.Columns.Add("QUANTY", typeof(Int32)); table.Columns.Add("NAME", typeof(string)); table.Columns.Add("DATE", typeof(DateTime)); DataRow newRow = table.NewRow(); newRow["ID"] = 1; newRow["QUANTY"] = 3; newRow["NAME"] = "NewCompanyName"; newRow["DATE"] = "1979, 1, 31"; // データを追加 table.Rows.Add(newRow); DataRow newRow2 = table.NewRow(); newRow2["ID"] = 2; newRow2["QUANTY"] = 2; newRow2["NAME"] = "NewCompanyName1"; table.Rows.Add(newRow2); DataRow newRow3 = table.NewRow(); newRow3["ID"] = 3; newRow3["QUANTY"] = 2; newRow3["NAME"] = "NewCompanyName2"; table.Rows.Add(newRow3); // 日付とOrderIDを条件に抽出 string expression = "DATE = '1/31/1979' or ID= 2"; // NAMEでソート(ソートしない場合はNull). string sortOrder = "NAMEASC"; DataRow[] foundRows; // 上記の条件で抽出する方法 foundRows = table.Select(expression, sortOrder); // 抽出データを表示 for (int i = 0; i < foundRows.Length; i++) Console.WriteLine(foundRows[i][2]);