2012年12月31日 星期一

[C#] DataTable 的Join

平常在使用SQL撈資料時都不太會使用到DataTable的Select功能或是用Linq對DataTable做重新搜尋的功能,但是當出現了商業邏輯或者是需要變動畫面中的資料導致需要切分DataTable的時候,為了不出現在次撈取資料庫的動作,因此DataTable的Linq動作就很重要了!! 今天來介紹一下DataTable 的兩種Join動作,Inner Join、 Left Join
var tTempResult = from tBasdda in tBASDDA.AsEnumerable()
                                  join tQ1 in tQueryA.AsEnumerable()
                                  on new { DDA001 = tBasdda["DCA001"].ToString() }
                                  equals new { DDA001 = tQ1["A1"].ToString() }
                                  select new
                                  {
                                      A1 = tQ1.Field("A1"),
                                      A2 = tQ1.Field("A2"),
                                      A3 = tBasdda.Field("DCA003")
                                  };
這邊用Select new 的方式就是為了產生一個新的var資料串 foreach (var t in tTempResult) { tResultDT.Rows.Add(t.A1, t.A2, t.A3); } 之後只要用foreach就可以將資料重新塞入DataTable中 這是測試文字 待續未完....文章測試中