DataTable 篩選資料

2022-07-20 10:00:13 字數 1077 閱讀 2528

//使用聚合函式 max ,sum  ,count ....

privatevoidcomputebysalessalesid(dataset dataset)

//使用select  .....

當你從資料庫裡取出一些資料,然後要對資料進行整合,你很容易就會想到:

datatable dt = new datatable();//假設dt是由"select c1,c2,c3 from t1"查詢出來的結果 

for (int i = 0; i < dt.rows.count; i++)  }

但這種做法用一兩次還好說,用多了就累了。那有沒有更好的方法呢?記得linq是可以直接對datatable進行查詢操作的,那在.net framework 2.0裡,有沒有類似的方法呢?答案是肯定的,就是dt.select(),上面的操作可以改成這樣:

datarow drarr = dt.select("c1=』abc』");//查詢

還可以這樣操作:

datarow drarr = dt.select("c1 like 』abc%』");//模糊查詢 

datarow drarr = dt.select("』abc』 like c1 + 』%』", "c2 desc");//另一種模糊查詢的方法 

datarow drarr = dt.select("c1=』abc』", "c2 desc");//排序

問題又來了,如果要把datarow賦值給新的datatable,怎麼賦值呢?你可能會想到:

datatable dtnew = dt.clone(); 

for (int i = 0; i < drarr.length; i++) 

但這樣程式就會出錯,說該datarow是屬於其他datatable的,那要怎麼做呢?很簡單,這樣就可以解決了:

datatable dtnew = dt.clone();  

for (int i = 0; i < drarr.length; i++)  

{  dtnew.importrow(drarr[i]); 

C 篩選DataTable的資料

demo示例三步走 新建個datatable,寫資料 篩選datatable的資料 新建乙個新的datatable接收篩選後的datatable資料 datatable olddt newdatatable 新建乙個空的datatable olddt.columns.add name typeof ...

在DataTable中新增篩選條件

datatable dt new datatable 建立乙個datatable的例項 寫乙個簡單的sqlhelper public static class sqlhelper con.open result cmd.executenonquery return result 以表的形式查詢資料 ...

datatable增加行 列 篩選指定字段

從資料庫中查詢資料返回datatable,簡單的情況下就是不對datatable進行任何操作,直接繫結控制項,顯示到介面。可是,當問題複雜的時候,就必須對datatable進行一些操作,如 datatable的增加行 列 以及篩選字段組合成一張新的datatable。下面整理了一下 留著備用。1 d...