XML 파일을 사용하고 XML 데이터를 데이터 세트로 설정하고 사용자가 선택한 테이블을 데이터 테이블로 저장합니다. 필터 기준, 그룹화, 집계 함수, 표현식을 사용하여 쿼리가 생성되었습니다. 등등 datatable 쿼리 할 수 있습니까? 나는 전체 table.Select (필터 기준, 정렬) method.but 친절하게 어떻게 그룹화, 함수 및 표현 (예 : Column1 + Column2 SumColumn으로)를 얻을 수있는 알게 와줘 왔어요.데이터 테이블을 쿼리하는 방법
2
A
답변
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.
2
LINQ를 사용하여 데이터를 쿼리 할 수 있습니다.이 데이터를 지원하는 .Net Framework 버전을 사용하고 있다고 가정 할 수 있습니다. 체크 아웃 LINQ To Dataset
+0
사용자가 데이터 소스 및 데이터베이스를 선택하여 모든 테이블에 대해 필터 조건, 그룹화, 집계 함수를 실행하는 일반 코드 여야합니다. 일반 LINQ 쿼리를 만들 수 있습니까? – pKumar
+0
-Wat 제네릭의 의미는 테이블/그룹/필터 기준 세부 정보를 하드 코딩 할 수 없다는 것입니다. LINQ에서 문자열의 연결이 허용되지 않습니다 (예 :
@ ip2Code - thanx..Plz는 C# 코드를 사용하여 그룹화하고 집계 함수 (예 : sum (col1), avg (col2))를 수행하는 논리를 제안합니다. – pKumar
테이블을 원하는대로 구축 한 후에는 항목을 반복하여 합계 값을 얻고 평균값을 얻어야합니다. – jp2code
나는 당신이 생각하고있는 것의 더 완전한 예를 보여주기 위해 코드를 편집했다. – jp2code