zoukankan      html  css  js  c++  java
  • [转]Linq查询DataTable,DataRow

     原文:http://www.cnblogs.com/wucg/archive/2010/10/13/1850053.html

    static void Main()
            {
                string strcon = global::TestLinqToSQL.Properties.Settings.Default.testConnectionString;
                SqlConnection conn = new SqlConnection(strcon);
                SqlDataAdapter da = new SqlDataAdapter("select * from T_Teacher", strcon);
                DataTable dt = new DataTable();
                da.Fill(dt);
                conn.Close();
      
                IEnumerable<DataRow> q1 = from r in dt.AsEnumerable()
                                          where r.Field<int>("ID") % 2 == 0
                                          select r;
                foreach (var item in q1)
                {
                    Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());
                }
                Console.WriteLine("-----------------------------------");
                IEnumerable<DataRow> q2 = from r in dt.AsEnumerable()
                                          where r.Field<int>("ID")>10
                                          select r;
                foreach (var item in q2)
                {
                    Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());
                }
                Console.WriteLine("-----------------------------------");
                DataTable dt1 = q1.CopyToDataTable();
                DataTable dt2 = q2.CopyToDataTable();
    //集合排除
                //var except = dt2.AsEnumerable().Except(dt1.AsEnumerable() , DataRowComparer.Default);
    //集合并
                //var except = dt2.AsEnumerable().Union(dt1.AsEnumerable(), DataRowComparer.Default); 
    //集合交
                var except = dt2.AsEnumerable().Intersect(dt1.AsEnumerable(), DataRowComparer.Default);
                foreach (var item in except)
                {
                    Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());
                }
                Console.WriteLine("done");
                Console.ReadLine();
            }


  • 相关阅读:
    Java8系列之重新认识HashMap(转)
    kafka 消费者和生产者测试类
    zookeeper配置
    JNLP应用程序无法打开的解决办法
    Functional Programming 资料收集
    Python的问题解决: IOError: [Errno 32] Broken pipe
    python的subprocess的简单使用和注意事项
    Python tricks(7) -- new-style class的__slots__属性
    Python tricks(6) -- python代码执行的效率
    Python tricks(5) -- string和integer的comparison操作
  • 原文地址:https://www.cnblogs.com/greatwang/p/3292539.html
Copyright © 2011-2022 走看看