DataTable은 DB를 조회할 때 자주 사용되는 데이터 타입으로
데이터베이스에서의 테이블과 거의 유사한 형태를 띄고 있다.
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));
=> 컬럼 정의 시 typeOf를 사용하여 해당 컬럼의 타입을 지정해줄 수 있다.
DataRow row = data.NewRow();
row["no"] = 1;
row["name"] = "Mike";
row["date"] = DateTime.Now;
data.Rows.Add(row);
data.Rows.Add(new object[] { 2, "Jane", DateTime.Now.AddDays(1) });
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"]);
}
foreach(DataRow rows in data.Rows)
{
int no = Convert.ToInt32(rows["no"]);
string name = rows["name"].ToString();
DateTime date = Convert.ToDateTime(rows["date"]);
}
데이터 테이블을 복사하고, 복사한 테이블로 값을 옮기는 방법
DataTable Table1 = GetColumnTable1();
// 1 : 내가 필요한 데이터만 가공해서 넘기는 방법
for each (DataRow dr in OrgTable.Rows) {
DataRow tempRow = Table1.NewRow();
tempRow[0] = dr[0];
tempRow[1] = dr[1];
tempRow[2] = Math.Abs(MAth.Round((double)dr[3] - (double)dr[4], 2));
Table1.Rows.Add(TempRow);
}
// 2 : 컬럼 전체를 넘기는 방법
if (dr[0].ToString() == "A") {
Table1.Row.Add(dr.ItemArray);
}
// 3. 데이터 테이블 사본 만들기
DataTable a = b.copy;
데이터 테이블의 Rows의 수를 찾는 방법은
dt_gallaryTable.Rows.Count
이렇게 설정해주면 된다
만약 로그를 찍으려면 Count는 String이 아니기 때문에 ToString의 과정을 한번 더 거쳐서
dt_gallaryTable.Rows.Count.ToString
이렇게 설정해주도록 한다.!!!!!!!!!