C#

[C#]DataTable에 행(Row) 추가하는 방법

DevStory 2021. 7. 26.

C#에서 DataTable 행(Row)을 추가하는 방법에 대해 설명합니다.


방법 1. DataRow를 사용

추가하려는 행(Row)의 수만큼 DataRow가 필요하므로 좋은 방법은 아닙니다.

/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));

/* 1. DataRow를 사용하는 방법 */
DataRow rowEx1 = dt.NewRow();
rowEx1["ID"] = "A";
rowEx1["Subject"] = "Java Programming";
rowEx1["Score"] = 100;
dt.Rows.Add(rowEx1);

DataRow rowEx2 = dt.NewRow();
rowEx2["ID"] = "B";
rowEx2["Subject"] = "C Programming";
rowEx2["Score"] = 80;
dt.Rows.Add(rowEx2);

DataTable dt의 구조


방법 2. Add() 메서드를 사용

/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));

/* 2. Add() 메소드를 사용하는 방법 */
dt.Rows.Add("A", "Java Programming", 100);
dt.Rows.Add("B", "C Programming", 80);

DataTable dt의 구조


방법 3. ImportRow()를 메서드를 사용하여 다른 DataTable의 데이터를 추가

ImportRow() 메서드

public void ImportRow (DataRow? row);

첫 번째 매개 변수

- 추가되는 DataRow

- DataTable의 끝에 추가 됩니다.

/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));

/* 3. ImportRow() 메소드를 사용하는 방법 */
DataTable dtCopy = new DataTable();
dtCopy.Columns.Add("ID", typeof(string));
dtCopy.Columns.Add("Subject", typeof(string));
dtCopy.Columns.Add("Score", typeof(int));

dtCopy.Rows.Add("C", "JavaScript", 90);

dt.ImportRow(dtCopy.Rows[0]);

DataTable dt의 구조


방법 4. InsertAt() 메서드를 사용하여 원하는 인덱스에 추가

InserAt() 메서드

public void InsertAt(DataRow row, int pos)

첫 번째 매개 변수

- 추가할 DataRow

 

두 번째 매개 변수

- 추가되는 DataTable의 Index 위치

- 0보다 커야합니다.

/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));

/* 4. InsertAt() 메소드를 사용하는 방법 */
dt.Rows.Add("A", "Java Programming", 100);
dt.Rows.Add("C", "C Programming", 80);

DataRow rowEx3 = dt.NewRow();
rowEx3["ID"] = "B";
rowEx3["Subject"] ="C# Programming";
rowEx3["Score"] = 100;

dt.Rows.InsertAt(rowEx3, 1);

DataTable dt의 구조

반응형

댓글