|  | 分類:[.NET 全般]
 
 DataTable DT から Select を使ったりして
 SQL のようにデータをとってくる方法ありませんか?
 
 たとえば DataTable に以下のようなデータが入っている場合
 
 BA NM SA
 A,  1, ab
 B,  2, bc
 C,  3, cd
 A,  4, ab
 D,  5, ef
 
 
 SQLでは次のようにできるんですけど
 
 SELECT DISTINCT BA
 FROM DT
 
 簡単にできないので
 力づくでやっちゃうと
 
 List<string> BAList = new List<string>();
 for(int inum = 0; inum < DT.Rows.Count; inum++)
 {
 if(BAList.IndexOf(DT.Rows[inum]["BA"].ToString()) >= 0) continue;
 BAList.Add(DT.Rows[inum]["BA"].ToString());
 }
 
 DataTable NewDT = new DataTable();
 NewDT.Columns.Add("BA");
 
 for(int inum = 0; inum < BAList.Count; inum++)
 {
 dr = NewDT.NewRow();
 dr["BA"] = BAList[inum];
 NewDT.Rows.Add(dr);
 }
 
 A,
 B,
 C,
 D,
 
 を取得する。
 
 Select() とか、 Distinct()
 を使ってできませんか?
 
 |