728x90
DataTable에 존재하는 다양한 함수로 DataTable을 제어할 수 있으며 다음과 같은 함수가 있습니다.
DataTable Example
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));
data.Rows.Add(new object[] { 1, "Mike", DateTime.Now.AddDays(1) });
data.Rows.Add(new object[] { 2, "Jane", DateTime.Now.AddDays(2) });
Clone
DataTable의 DataRow를 제외한 컬럼 및 다른 모든 정보들을 그대로 복사합니다.
DataTable new_data = data.Clone();
결과
no | name | date | food |
ImportRow
다른 DataTable의 Row를 그대로 가져옵니다.
DataTable new_data = data.Clone();
data2.ImportRow(data.Rows[1]);
결과
no | name | date | food |
2 | Jane | 2021-07-25 오후 3:10:56 |
Select
조건에 맞는 특정 DataRow만 선택합니다. DataRow를 배열로 받습니다.
DataRow[] dataRows = data.Select("no = 1");
결과
no | name | date | food |
1 | Mike | 2021-07-25 오후 3:10:56 |
Copy
다른 DataTable에 똑같이 기존의 DataTable을 복사합니다.
DataTable new_data = data.Copy();
결과(new_data)
no | name | date | food |
1 | Mike | 2021-07-24 오후 3:10:56 | |
2 | Jane | 2021-07-25 오후 3:10:56 |
Reset
DataTable을 초기화 시킵니다. new DataTable로 다시 선언하는것과 같은 효과가 있습니다.
data.Reset();
Clear
DataTable의 데이터를 모두 지웁니다. DataRow들만 지웁니다.
data.Clear();
Compute
연산을 수행할 수 있는 메소드 입니다. DataTable에서 sum, count, 부등호 등의 연산을 수행하려고 할 경우 사용할 수 있습니다.
Compute 메소드로 가능한 연산의 종류로는 아래의 msdn을 참고바랍니다.
https://docs.microsoft.com/ko-kr/dotnet/api/system.data.datacolumn.expression?view=net-5.0
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));
data.Rows.Add(new object[] { 1, "Mike", DateTime.Now.AddDays(1), "Steak" });
data.Rows.Add(new object[] { 2, "Jane", DateTime.Now.AddDays(2), "Steak" });
data.Rows.Add(new object[] { 3, "Jane", DateTime.Now.AddDays(2), "Steak" });
data.Rows.Add(new object[] { 4, "Tony", DateTime.Now.AddDays(2), "Coke" });
data.Rows.Add(new object[] { 5, "Han", DateTime.Now.AddDays(2), "Coke" });
// 결과값 : 6
object sum = data.Compute("sum(no)", "food = 'Steak'");
// 결과값 : 1
object count1 = data.Compute("count(no)", "name = 'Tony'");
// 결과값 : 4
object count2 = data.Compute("count(no)", "no < 5");
// 결과값 : 3
object avg = data.Compute("avg(no)", "");
MSDN Reference : https://docs.microsoft.com/ko-kr/dotnet/api/system.data.datatable?view=net-5.0
728x90
'C#' 카테고리의 다른 글
C# - 정적(Static)함수의 이해 및 사용법 (0) | 2021.08.26 |
---|---|
C# - 물음표 연산자(?, ??), 삼항연산자 (1) | 2021.07.28 |
C# - DataTable 사용법(1) - 컬럼생성, 데이터 삽입, 조회 (0) | 2021.07.23 |
C# - this 메소드를 이용한 클래스 구현 (0) | 2021.07.22 |
C# - 확장메소드 사용법 및 예시 (0) | 2021.07.15 |
댓글