我正在使用XML文件,並將XML中的數據設置爲數據集,並將用戶選擇的表存儲爲數據表。使用過濾條件,分組,聚合函數,表達式生成查詢等是否可以查詢數據表? 我確實來過table.Select(篩選條件,排序)method.but請讓我知道如何分組,聚合函數和表達式(例如:Column1 + Column2作爲SumColumn)可以得到。如何查詢數據表
Q
如何查詢數據表
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 2011-03-24 16:59:06
+0
- 我的意思是通用的是,表/分組/篩選條件的細節不能被硬編碼。我有一個字符串,包含選定的列,過濾條件,查詢的分組細節。但是在LINQ中,不接受字符串串聯(例如:從
@ ip2Code - thanx..Plz建議使用C#代碼進行分組和彙總函數(eg-sum(col1),avg(col2))的邏輯。 – pKumar 2011-03-24 17:25:08
按照您需要的方式構建表格後,必須遍歷條目才能彙總值並獲取平均值。 – jp2code 2011-03-24 17:39:48
我編輯了代碼,給出了一個更完整的例子,我認爲你在做什麼。 – jp2code 2011-03-24 17:48:31