2010-12-19 133 views
0

我有兩個數據表,我的基本需求是知道數據表中的值是否存在於另一個數據表中。在數據表中搜索特定值

我的第一個數據表將包含這樣的數據(id,name,unit) 第二個像這樣的(id,value)。 對於第一個 和1-2,3,5的第一個值可以是這樣的 1-A-b,2-B-c,3-X-d。這裏1和3是exsting.How我可以找到使用id的相應值。

回答

0

這應該工作;

 var table = new DataTable(); 

     table.Columns.Add("id", typeof(int)); 
     table.Columns.Add("name"); 
     table.Columns.Add("unit"); 

     var table2 = new DataTable(); 
     table2.Columns.Add("id", typeof(int)); 
     table2.Columns.Add("value"); 

     table.Rows.Add(1, "a Name", "a Unit"); 
     table.Rows.Add(2, "other", "other"); 

     table2.Rows.Add(1, "value"); 
     table2.Rows.Add(4, "other"); 

     var result = table.AsEnumerable().Join(table2.AsEnumerable(), r1 => r1.Field<int>("id"), r2 => r2.Field<int>("id"), 
            (r1, r2) => new {Id = r1.Field<int>("id"), Value = r2.Field<string>("value") }).ToList(); 

     foreach (var r in result) 
      Console.WriteLine(r.Id + "|"+ r.Value); 
+0

這裏你指定1,2等這個值將在另一個datatable.So我將如何寫選擇? – kbvishnu 2010-12-19 10:22:57

+0

現在看,我沒有意識到你的問題,你想做一個加入 – 2010-12-19 10:39:56

+0

我將如何加入?在C#中? – kbvishnu 2010-12-19 11:03:55