본문 바로가기

Test Code/C#

[DataTable] DataTable.Select 함수

DataTable.Select 함수


해당 조건에 맞는 ROW를 조회해서 ROW 배열로 리턴합니다.



using System;

using System.Data;


namespace Test_DataTable

{

    class Program

    {

        static void Main(string[] args)

        {

            DataTable table = new DataTable();

            table.Columns.Add("COL_1");

            table.Columns.Add("COL_2");

            table.Columns.Add("COL_3");


            table.Rows.Add("a""10""Asia");

            table.Rows.Add("a", "10", "Asia");

            table.Rows.Add("a""20""Euro");

            table.Rows.Add("b""30", "America");

            table.Rows.Add("b""30""Oceania");


            DataTable retTable = null;


            Console.WriteLine("원본 DataTable");

            foreach (DataRow row in table.Rows)

            {

                Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);

            }


            DataRow[] arrRows = null;


            Console.WriteLine("\nCOL_3 이 Asia 인것 ROW 추출");

            arrRows = table.Select("COL_3='Asia'");

            foreach (DataRow row in arrRows)

            {

                Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);

            }


            Console.WriteLine("\nCOL_1 이 a 이고 COL_2가 10 인 ROW 추출");

            arrRows = table.Select("COL_1='a' AND COL_2='10'");

            foreach (DataRow row in arrRows)

            {

                Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);

            }


            Console.WriteLine("\nCOL_3 이 Euro 혹은 Oceania 인 ROW 추출");

            arrRows = table.Select("COL_3 in ('Euro', 'Oceania')");

            foreach (DataRow row in arrRows)

            {

                Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);

            }


            Console.ReadKey();

        }


    }

}