zoukankan      html  css  js  c++  java
  • linq to datatable 和lambda查询datatable

    用Linq查询DataTable

            static DataTable table = new DataTable();
            static DataColumn dc = new DataColumn();
            static void Main()
            {
                Createtable();
                table.Rows.Add(1, 2,"2010-1-1");
                table.Rows.Add(2, 3, "2010-1-1");
                table.Rows.Add(3, 4, "2010-1-1");
                table.Rows.Add(4, 5, "2010-1-1");
                table.Rows.Add(5, 2, "2010-1-2");
                table.Rows.Add(6, 3, "2010-1-2");
                table.Rows.Add(7, 4, "2010-1-2");
                table.Rows.Add(8, 5, "2010-1-2");
    
    
                var query = from dt in table.AsEnumerable()
                            where new int[] { 2, 3, 4 }.Contains(dt.Field<Int32>("PID"))
                            orderby dt.Field<DateTime>("CreateDate") descending
                            group dt by dt.Field<Int32>("PID") into g
                            let n = (from d in g.Take(2).Skip(1) select d).FirstOrDefault()
                            select new
                            {
                                ID = n.Field<Int32>("ID"),
                                PID = g.Key,
                                CreateDate = n.Field<DateTime>("CreateDate")
                            };
                query.ToList().ForEach(m => Console.WriteLine("{0}	{1}	{2}	",m.ID,m.PID,m.CreateDate));
            }
            public static void Createtable()
            {
                dc = new DataColumn("ID", Type.GetType("System.Int32"));
                table.Columns.Add(dc);
                dc = new DataColumn("PID", Type.GetType("System.Int32"));
                table.Columns.Add(dc);
                dc = new DataColumn("CreateDate", Type.GetType("System.DateTime"));
                table.Columns.Add(dc);
            }

    用Lambda表达式查询DataTable

    DataTable dt = new DataTable();
                DataColumn dc = new DataColumn("UserName", System.Type.GetType("System.String"));
                DataColumn dc1 = new DataColumn("UserPwd", System.Type.GetType("System.String"));
                dt.Columns.Add(dc);
                dt.Columns.Add(dc1);
                DataRow dr = dt.NewRow();
                dr["UserName"] = "22";
                dr["UserPwd"] = "33";
                dt.Rows.Add(dr);
             
                var rownumber = dt.AsEnumerable().Where<DataRow>(C=>C["UserName"].ToString()=="22");
                int row = rownumber.Count<DataRow>();
                foreach ( DataRow en in  rownumber)
                {
    
                    Response.Write("User" + en["UserName"] + "pwd" + en["UserPwd"]);
                }
    记忆力下降,日常日志
  • 相关阅读:
    maven创建父子工程
    webservice之jersey简单实用
    EL表达式处理字符串
    oracle不等于1怎么查?
    day_07 搭建Tomcat服务器使用Servlet服务,后端接受前端请求过来的表单数据并使用
    Day_06 流程控制-循环结构-嵌套循环结构的原理解析
    Day05_流程控制02 循环结构
    day_5 流程控制 选择结构的两种常用语句的使用语法
    day_04 运算符详解
    day_03 变量的数据类型详解
  • 原文地址:https://www.cnblogs.com/yushuo/p/4318978.html
Copyright © 2011-2022 走看看