2010-12-19 81 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