[C#] DataTable 반복문(for, foreach) 사용방법

C#의 DataTable 사용 시 for, foreach 반복문을 사용하는 예제이다.

 

for 문

DataTable dt = new DataTable();

// ... 생략

for (int i = 0; i < dt.Rows.Count; i++)
{
    string id = dt.Rows[i]["EMPLOYEE_ID"].ToString();
}

 

foreach 문

DataTable dt = new DataTable();

// ... 생략

foreach (DataRow row in dt.Rows)
{
    string id = row["EMPLOYEE_ID"].ToString();
}

 

DataTable의 컬럼 명은 컬럼 순번으로 바꿔서 사용할 수 있다.

dataTable.Rows[i]["EMPLOYEE_ID"] dataTable.Rows[i][0]

 

DataTable의 Key와 Value를 추출 할 수 있다.

 

DataTable dt = new DataTable();

// ... 생략

for (int i = 0; i < dt.Rows.Count; i++)
{
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        string key = dt.Columns[j].ColumnName; //컬럼 명
        string val = dt.Rows[i][j].ToString(); //컬럼 값
    }
}

 

 

사용 예제

예제 1 - for 사용

 

DataTable dt = new DataTable();

dt.Columns.Add("EMPLOYEE_ID", typeof(int));
dt.Columns.Add("FIRST_NAME", typeof(string));
dt.Columns.Add("LAST_NAME", typeof(string));
dt.Columns.Add("HIRE_DATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "King", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "Kochhar", "2005-09-21", 17000);
dt.Rows.Add(102, "Lex", "De Haan", "2001-01-13", 17000);
dt.Rows.Add(103, "John", "Chen", "2006-01-03", 9000);
dt.Rows.Add(104, "Bruce", "Ernst", "2007-05-21", 6000);

for (int i = 0; i < dt.Rows.Count; i++)
{
    string employeeId = dt.Rows[i]["EMPLOYEE_ID"].ToString();
    string firstName = dt.Rows[i]["FIRST_NAME"].ToString();
    string lastName = dt.Rows[i]["LAST_NAME"].ToString();  
}

 

예제 2 - foreach 사용

 

DataTable dt = new DataTable();

dt.Columns.Add("EMPLOYEE_ID", typeof(int));
dt.Columns.Add("FIRST_NAME", typeof(string));
dt.Columns.Add("LAST_NAME", typeof(string));
dt.Columns.Add("HIRE_DATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "King", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "Kochhar", "2005-09-21", 17000);
dt.Rows.Add(102, "Lex", "De Haan", "2001-01-13", 17000);
dt.Rows.Add(103, "John", "Chen", "2006-01-03", 9000);
dt.Rows.Add(104, "Bruce", "Ernst", "2007-05-21", 6000);

foreach (DataRow row in dt.Rows)
{
    string employeeId = row["EMPLOYEE_ID"].ToString();
    string firstName = row["FIRST_NAME"].ToString();
    string lastName = row["LAST_NAME"].ToString();  
}

 

C# DataTable for

 

예제 3 - for 문으로 key, value 출력

 

DataTable dt = new DataTable();

dt.Columns.Add("EMPLOYEE_ID", typeof(int));
dt.Columns.Add("FIRST_NAME", typeof(string));
dt.Columns.Add("LAST_NAME", typeof(string));
dt.Columns.Add("HIRE_DATE", typeof(DateTime));
dt.Columns.Add("SALARY", typeof(int));

dt.Rows.Add(100, "Steven", "King", "2003-06-17", 24000);
dt.Rows.Add(101, "Neena", "Kochhar", "2005-09-21", 17000);
dt.Rows.Add(102, "Lex", "De Haan", "2001-01-13", 17000);
dt.Rows.Add(103, "John", "Chen", "2006-01-03", 9000);
dt.Rows.Add(104, "Bruce", "Ernst", "2007-05-21", 6000);

for (int i = 0; i < dt.Rows.Count; i++)
{
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        string colName = dt.Columns[j].ColumnName;
        string colValue = dt.Rows[i][j].ToString();
    }
}

 

C# DataTable Key Value

 

DataTableExample.zip
0.04MB

 

 

댓글

Designed by JB FACTORY