举个例子,用一个SQL语句在全国范围查出了我们县25岁年龄的人(这里的含义是,在大量的数据中,已经查出了数量不大的数据集),程序端放在DataSet里。
另一个SQL语句在全国范围内查出了我们村所有人的ID(注意,该次查的是另一个表,该表没有年龄信息,查出来的只有ID),也放在一个DataSet里,(当然这两个也可以放在同一个DataSet的两个DataTable里)。现在要得出我们村所有25岁年龄的人(因为第二次查询的表里没有年龄信息,所以不可以用filter("select 年龄=25")这样的语句),如何通过拼接第一个DataSet和第二个DataSet中的数据得出最终结果。有没有C#已经有的方法,或者是自己做算法一条一条对比?

解决方案 »

  1.   

    你两个dataset中都保留一个id,这样就可以遍历,通过id匹配LINQ应该可以试试
      

  2.   

    遍历吧.比对下重新生成一个DataTable.
      

  3.   

    突然发现linq是个很强大的东西,不过我看的例子都是数组,DataTable可以吗?
      

  4.   

    这是什么程序啊,连县里面的所有人的信息都得到了,查村里信息的时候却只能查到一个id,是我理解错了吗
       foreach(datarow row in 村表)
       {
          var a=from x in 县表.as啥的实现接口不然不能查 where row.id=x.id select x
          每次查询后A的结果就是从把村表里面=县表的信息保存到a里面
            剩下的思路你慢慢想吧,我离开vs啥都不会,这台机器上面没有装
    }
    多麻烦啊,用一个select语句不就搞定了吗? 非得去到本地进行操作吗?
      

  5.   

    http://topic.csdn.net/u/20110705/09/9bef1100-99ee-4423-ac88-2fa48b0be894.html参考此帖或者帖出你的测试数据来我给你写一个
      

  6.   

    木有啊我回复问题一般很少看分数可能当时我比较忙  SORRY你把帖子地址帖一下  我再看看
      

  7.   

    http://blog.csdn.net/livening/article/details/6043049
      

  8.   

                var finaltable = from t1 in table1 join t2 in table2 on t1.id==t2.id select t1;
                foreach (var row in finaltable )
                {
                    //处理
                }
    貌似是这样吧,linq用的不多