728x90
DataTable은 DB를 조회할 때 자주 사용되는 데이터 타입이며 데이터 베이스의 테이블과 거의 흡사한 형태를 갖고있습니다.
쿼리를 조회하는 것이 아니라면 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
'C#' 카테고리의 다른 글
C# - 물음표 연산자(?, ??), 삼항연산자 (1) | 2021.07.28 |
---|---|
C# - DataTable 사용법(2) - Clone, ImportRow, Select, Copy, Reset, Clear, Compute (0) | 2021.07.23 |
C# - this 메소드를 이용한 클래스 구현 (0) | 2021.07.22 |
C# - 확장메소드 사용법 및 예시 (0) | 2021.07.15 |
C# - List 기본함수 사용법(Add, AddRange, Contains, Clear, IndexOf, Remove, RemoveAll, Reverse, ToArray, Sort) (0) | 2021.07.14 |
댓글