본문 바로가기
Languages/C#

C# DataTable 사용법(1)

by 반도체는 프로그래밍을 좋아해 2023. 4. 11.
728x90

C#에서 DataTable은 데이터를 메모리에 저장하고 처리하는 데 사용되는 클래스 중 하나입니다. DataTable은 테이블 형태의 데이터를 처리할 때 유용하며, 데이터베이스와 비슷한 방식으로 데이터를 저장하고 조회하고 수정할 수 있습니다.

DataTable은 행과 열의 집합으로 이루어져 있습니다. 각 행은 데이터 레코드를 나타내고, 각 열은 데이터 필드를 나타냅니다. DataTable을 사용하면 데이터를 쉽게 정렬하고 필터링하며, 데이터 뷰를 만들 수 있습니다.

또한 DataTable은 데이터를 XML 파일로 내보내거나 XML 파일에서 데이터를 읽어올 수 있는 기능도 제공합니다. 이를 통해 데이터를 다른 애플리케이션과 공유하거나, 임시로 저장하거나, 백업 파일로 저장할 수 있습니다. 해당 과정은 DataTable 사용법(2)에서 다루겠습니다.

예를 들어, 다음은 DataTable에 데이터를 추가하고 출력하는 예제 코드입니다.

using System;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        // DataTable 생성
        DataTable dt = new DataTable();

        // DataColumn 생성 및 DataTable에 추가
        dt.Columns.Add("ID", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("Age", typeof(int));

        // DataRow 생성 및 DataTable에 추가
        DataRow row1 = dt.NewRow();
        row1["ID"] = 1;
        row1["Name"] = "John";
        row1["Age"] = 30;
        dt.Rows.Add(row1);

        DataRow row2 = dt.NewRow();
        row2["ID"] = 2;
        row2["Name"] = "Mary";
        row2["Age"] = 25;
        dt.Rows.Add(row2);
        
        // 혹은 아래와 같이 한꺼번에 추가도 가능하다.
		dt.Rows.Add(new object[] {3, "Jane", 27 });

        // DataTable 출력
        foreach (DataRow row in dt.Rows)
        {
            Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", row["ID"], row["Name"], row["Age"]);
        }
    }
}
728x90

위 코드에서는 DataTable 클래스를 사용하여 데이터를 저장하고 처리하는 방법을 보여줍니다. DataColumn 클래스를 사용하여 열을 정의하고, DataRow 클래스를 사용하여 행을 추가합니다. 마지막으로 DataTable의 Rows 속성을 사용하여 데이터를 출력합니다.

MSDN Reference : https://docs.microsoft.com/ko-kr/dotnet/api/system.data.datatable?view=net-5.0

 

DataTable 클래스 (System.Data)

메모리 내 데이터의 한 테이블을 나타냅니다.

learn.microsoft.com

 

728x90

'Languages > C#' 카테고리의 다른 글

Day 10: Commands 소개 및 구현  (0) 2023.04.12
C# DataTable 사용법(2)  (0) 2023.04.11
C# Dictionary(사전 구조)  (0) 2023.04.11
C# 컬렉션 & 제네릭 컬렉션(Collection & Generic Collection)  (0) 2023.04.11
C# WPF brush  (0) 2023.04.10