linq to datatable 和lambda查询datatable
用Linq查询DataTable
static DataTable table = new DataTable();
static DataColumn dc = new DataColumn();
static void Main()
{
Createtable();
table.Rows.Add(, ,"2010-1-1");
table.Rows.Add(, , "2010-1-1");
table.Rows.Add(, , "2010-1-1");
table.Rows.Add(, , "2010-1-1");
table.Rows.Add(, , "2010-1-2");
table.Rows.Add(, , "2010-1-2");
table.Rows.Add(, , "2010-1-2");
table.Rows.Add(, , "2010-1-2"); var query = from dt in table.AsEnumerable()
where new int[] { , , }.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().Skip() 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}\t{1}\t{2}\t",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"] = "";
dr["UserPwd"] = "";
dt.Rows.Add(dr); var rownumber = dt.AsEnumerable().Where<DataRow>(C=>C["UserName"].ToString()=="");
int row = rownumber.Count<DataRow>();
foreach ( DataRow en in rownumber)
{ Response.Write("User" + en["UserName"] + "pwd" + en["UserPwd"]);
}
linq to datatable 和lambda查询datatable的更多相关文章
- DataTable的子查询--DataTable.Select()
由于需要,在sql查询获得结果集之后,又需要对该结果再进行筛选一次,若重新从sql中查询会浪费资源,因此特地去查阅了一些资料,学会了用DataTable进行子查询. 在.Net Framework 2 ...
- Linq查询datatable的记录集合
通过linq查询datatable数据集合满足条件的数据集 1.首先定义查询字段的变量,比方深度 string strDepth=查询深度的值: var dataRows = from datarow ...
- C# Datatable group by 查询
操作Datatable group by 查询 //获取统计图形数据 var dicleft = new Dictionary<string, DataTable>(); ].AsEn ...
- 浅谈sql 、linq、lambda 查询语句的区别
浅谈sql .linq.lambda 查询语句的区别 LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量 ...
- 关于表 datatable的条件查询
关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...
- ASP.NET EF(LINQ/Lambda查询)
EF(EntityFrameWork) ORM(对象关系映射框架/数据持久化框架),根据实体对象操作数据表中数据的一种面向对象的操作框架,底层也是调用ADO.NET ASP.NET MVC 项目会自动 ...
- EF删除,查询,Linq查询,Lambda查询,修改链接字符串
(1)//删除操作 public bool delete() { try { a_context = new AEntities(); b1 = new Table_1(); //删除只需要写主键就行 ...
- 对datatable操作,查询
#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// <summary> /// DataTable筛选,排 ...
- linq根据传入数据集合查询对应子级数据
工作中经常用到的linq根据传入数据集合查询对应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点对应ID数据集合,再根据ID数据集合查询全部子级数据. //获取缓存数据 ...
随机推荐
- Feather包实现数据框快速读写,你值得拥有
什么是Feather? Feature是一种文件格式,支持R语言和Python的交互式存储,速度更快.目前支持R语言的data.frame和Python pandas 的DataFrame. Feat ...
- MongoDB之数据库命令操作(二)
现在详细学习一下mongodb的数据库操作. 查询语句 db.xxx(集合name).find() # 查询 db.xxx(集合name).findOne() # 只返回一个 db.xxx(集合nam ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】
转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...
- javascript初步了解
0.1 <script> 和 </script> 会告诉 JavaScript 在何处开始和结束. <script> 和 </script> 之间的 ...
- TGPPen 宽度的理解
procedure TForm4.Button1Click(Sender: TObject); var g: TGPGraphics; p: TGPPen; begin g := TGPGraphic ...
- SPOJ D-query(莫队算法模板)
题目链接:http://www.spoj.com/problems/DQUERY/ 题目大意:给定一个数组,每次询问一个区间内的不同元素的个数 解题思路:直接套莫队的裸题 #include<cs ...
- ubuntu 上 安装多个php版本
Ubuntu上官方的源,比如 Ubuntu14.04 默认源中的是 PHP5.6.x.Ubuntu16.04 默认源中的是 PHP7.0.x,那么如果想在 Ubuntu16.04 上安装 PHP7.1 ...
- Native Apps、Web Apps
Native Apps 指的是远程程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用 优点: 打造完美的用户体验 性能稳定 操作速度快,上手流畅 访问本地资源 ...
- ECMA6
let关键字 用来替代var 的关键字,不能重复定义一个变量 举例: for(var i=0; i<5; i++){ setTimeout(function(){ ...
- 洛谷P1420 最长连号 题解
题目传送门 这道题我是打暴力的...(尴尬) 所以直接是O(N2)的时间,但好像没有炸,数据很水... #include<bits/stdc++.h> using namespace st ...