2011-03-24 9 views
2

XML 파일을 사용하고 XML 데이터를 데이터 세트로 설정하고 사용자가 선택한 테이블을 데이터 테이블로 저장합니다. 필터 기준, 그룹화, 집계 함수, 표현식을 사용하여 쿼리가 생성되었습니다. 등등 datatable 쿼리 할 수 ​​있습니까? 나는 전체 table.Select (필터 기준, 정렬) method.but 친절하게 어떻게 그룹화, 함수 및 표현 (예 : Column1 + Column2 SumColumn으로)를 얻을 수있는 알게 와줘 왔어요.데이터 테이블을 쿼리하는 방법

답변

1

불행히도 table.Select(filterCriteria, sort)은 LINQ가없는 유일한 옵션입니다. (저는 LINQ 전문가가 아니기 때문에 무엇을 할 수 있는지 묻지 않습니다).

언제든지 특정 항목이 필요하므로 해당 열을 DataTable에 만들거나 추가하십시오.

 DataTable table = new DataTable(); 
     // code that populates the table 
     DataColumn c = table.Columns.Add("Column1 + Column2", typeof(int)); 
     int Sum = 0; 
     for (int i = 0; i < table.Rows.Count; i++) { 
      r = table.Rows[i]; 
      int col1 = (int)r["Column1"]; 
      int col2 = (int)r["Column2"]; 
      int both = col1 + col2; 
      Sum += both; 
      r[c] = string.Format("{0}", both); 
     } 
     DataRow summaryRow = table.NewRow(); 
     summaryRow[c] = (int)((float)Sum/table.Rows.Count + 0.5); // add 0.5 to round 
     table.Rows.Add(summaryRow); 

HTH.

+0

@ ip2Code - thanx..Plz는 C# 코드를 사용하여 그룹화하고 집계 함수 (예 : sum (col1), avg (col2))를 수행하는 논리를 제안합니다. – pKumar

+0

테이블을 원하는대로 구축 한 후에는 항목을 반복하여 합계 값을 얻고 평균값을 얻어야합니다. – jp2code

+0

나는 당신이 생각하고있는 것의 더 완전한 예를 보여주기 위해 코드를 편집했다. – jp2code

2

LINQ를 사용하여 데이터를 쿼리 할 수 ​​있습니다.이 데이터를 지원하는 .Net Framework 버전을 사용하고 있다고 가정 할 수 있습니다. 체크 아웃 LINQ To Dataset

+0

사용자가 데이터 소스 및 데이터베이스를 선택하여 모든 테이블에 대해 필터 조건, 그룹화, 집계 함수를 실행하는 일반 코드 여야합니다. 일반 LINQ 쿼리를 만들 수 있습니까? – pKumar

+0

-Wat 제네릭의 의미는 테이블/그룹/필터 기준 세부 정보를 하드 코딩 할 수 없다는 것입니다. LINQ에서 문자열의 연결이 허용되지 않습니다 (예 :

에서 <필터 기준> ....이 필요에 따라 실행되지 않음) – pKumar

관련 문제