본문 바로가기
C#

C# - DataTable 사용법(1) - 컬럼생성, 데이터 삽입, 조회

by 개발 그리고 게발 2021. 7. 23.
728x90

DataTableDB를 조회할 때 자주 사용되는 데이터 타입이며 데이터 베이스의 테이블과 거의 흡사한 형태를 갖고있습니다.

 

쿼리를 조회하는 것이 아니라면 DataTable에 컬럼을 생성하고 그에 해당하는 값을 넣어서 사용할 수 있으며 사용방법은 다음과 같습니다.

컬럼의 타입을 지정할때는 typeof(DataType)을 이용하여 컬럼의 데이터 타입을 지정합니다.

 

 

컬럼 생성

DataTable data = new DataTable();

data.Columns.Add("no", typeof(int));
data.Columns.Add("name", typeof(string));
data.Columns.Add("date", typeof(DateTime));
data.Columns.Add("food", typeof(string));

 

 

데이터 삽입 - 방법 1

row 생성시에는 DataTable의 NewRow를 이용하여 Row의 컬럼을 생성하고

DataRow를 정의하여 컬럼에 해당하는 값을 각각 넣어 준다.

DataRow row = data.NewRow();
row["no"] = 1;
row["name"] = "Mike";
row["date"] = DateTime.Now;
data.Rows.Add(row);

 

 

데이터 삽입 - 방법2

배열을 이용하여 한번에 DataRow를 만들어 넣어준다.

data.Rows.Add(new object[] { 2, "Jane", DateTime.Now.AddDays(1) });

 

 

DataTable의 데이터 추출방법

DataRow의 컬럼에 해당하는 값을 조회하면 object형태로 반환되기 때문에 ToString이나 Convert를 이용하여 각 컬럼의 데이터 타입에 맞는 형식으로 변환을 해줘야 합니다.

 

1. for문을 이용한 데이터 조회

for (int i = 0; i < data.Rows.Count; i++)
{
	int no = Convert.ToInt32(data.Rows[i]["no"]);
	string name = data.Rows[i]["name"].ToString();
	DateTime date = Convert.ToDateTime(data.Rows[i]["date"]);
}

 

 

2. foreach문을 이용한 데이터 조회

foreach(DataRow rows in data.Rows)
{
	int no = Convert.ToInt32(rows["no"]);
	string name = rows["name"].ToString();
	DateTime date = Convert.ToDateTime(rows["date"]);
}
728x90

댓글