[C#] DataTable 행(Row) 추가 방법 (Add, Insert)

C#의 DataTable 사용 시 행(Row)를 추가하는 방법으로는 Add() 메소드를 이용하여 마지막 행에 데이터를 추가하거나, InsertAt() 메소드를 이용하여 행의 중간, 원하는 위치에 행을 추가하는 방법이 있다.

 

DataTable.Rows.Add(row)
DataTable.Rows.InsertAt(row, pos)

 

1. NewRow 메소드를 이용하는 행을 추가하는 방법

DataTable.NewRow 이용하여 테이블의 스키마를 가져와서 Row를 생성 후 추가한다.

 

DataTable dt = new DataTable();

// ... 생략

DataRow row = dt.NewRow();

row["NO"] = 103;
row["NAME"] = "John";
row["HIREDATE"] = "2006-01-03";
row["SALARY"] = 9000;

dt.Rows.Add(row);

 

2. 컬럼의 순서대로 값을 대입하여 행을 추가하는 방법

 

DataTable dt = new DataTable();

// ... 생략

dt.Rows.Add(102, "Lex", "2001-01-13", 17000);

 

3. 원하는 위치에 행을 추가하는 방법

InsertAt("추가할 행", "위치")

 

DataTable dt = new DataTable();

// ... 생략

DataRow row = dt.NewRow();

row["NO"] = 104;
row["NAME"] = "Bruce";
row["HIREDATE"] = "2007-05-21";
row["SALARY"] = 6000;

dt.Rows.InsertAt(row, 1);

 

사용 예제

예제 1 - NewRow 메소드를 이용하는 방법

 

DataTable dt = new DataTable();

dt.Columns.Add("NO", typeof(int));
dt.Columns.Add("NAME", typeof(string));
dt.Columns.Add("HIREDATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "2005-09-21", 17000);

DataRow row = dt.NewRow();

row["NO"] = 103;
row["NAME"] = "John";
row["HIREDATE"] = "2006-01-03";
row["SALARY"] = 9000;

dt.Rows.Add(row);

 

예제 2 - 값을 순서대로 대입하는 방법

 

DataTable dt = new DataTable();

dt.Columns.Add("NO", typeof(int));
dt.Columns.Add("NAME", typeof(string));
dt.Columns.Add("HIREDATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "2005-09-21", 17000);

dt.Rows.Add(102, "Lex", "2001-01-13", 17000);

 

예제 3 - 원하는 위치에 행을 추가하는 방법

 

DataTable dt = new DataTable();

dt.Columns.Add("NO", typeof(int));
dt.Columns.Add("NAME", typeof(string));
dt.Columns.Add("HIREDATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "2005-09-21", 17000);

DataRow row = dt.NewRow();

row["NO"] = 104;
row["NAME"] = "Bruce";
row["HIREDATE"] = "2007-05-21";
row["SALARY"] = 6000;

dt.Rows.InsertAt(row, 1);

 

 

DataTableExample.zip
0.03MB

 

 

댓글

Designed by JB FACTORY