在DataTable中执行DataTable.Select("条件"),
来源:互联网 发布:java跨类调用数组 编辑:程序博客网 时间:2024/05/16 15:37
当你从数据库里取出一些数据,然后要对数据进行整合,你很容易就会想到:
1DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FROM T1"查询出来的结果
2for (int i = 0; i < dt.Rows.Count; i++)
3{
4 if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件
5 {
6 //进行操作
7 }
8}
但这种做法用一两次还好说,用多了就累了。那有没有更好的方法呢?记得LinQ是可以直接对DataTable进行查询操作的,那在.Net Framework 2.0里,有没有类似的方法呢?答案是肯定的,就是dt.Select(),上面的操作可以改成这样:2for (int i = 0; i < dt.Rows.Count; i++)
3{
4 if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件
5 {
6 //进行操作
7 }
8}
1DataRow[] drArr = dt.Select("C1='abc'");//查询
还可以这样操作:1DataRow[] drArr = dt.Select("C1 LIKE 'abc%'");//模糊查询
2DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");//另一种模糊查询的方法
3DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");//排序
问题又来了,如果要把DataRow赋值给新的DataTable,怎么赋值呢?你可能会想到:2DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");//另一种模糊查询的方法
3DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");//排序
1DataTable dtNew = dt.Clone();
2for (int i = 0; i < drArr.Length; i++)
3{
4 dtNew.Rows.Add(drArr[i]);
5}
但这样程序就会出错,说该DataRow是属于其他DataTable的,那要怎么做呢?很简单,这样就可以解决了:2for (int i = 0; i < drArr.Length; i++)
3{
4 dtNew.Rows.Add(drArr[i]);
5}
1DataTable dtNew = dt.Clone();
2for (int i = 0; i < drArr.Length; i++)
3{
4 dtNew.ImportRow(drArr[i]);
5}
这样就完成了。 2for (int i = 0; i < drArr.Length; i++)
3{
4 dtNew.ImportRow(drArr[i]);
5}
0 0
- 在DataTable中执行DataTable.Select("条件"),
- 在DataTable中执行DataTable.Select("条件"),
- 在DataTable中执行DataTable.Select("条件")
- 在DataTable中执行DataTable.Select(\"条件\")
- 在DataTable中执行DataTable.Select("条件"),
- DataTable中执行DataTable.Select("条件")返回DataTable的方法
- 关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法
- 在DataTable中执行Select("条件")后,返回DataTable的方法
- 将DataTable中执行Select(\"条件\")后的结果显示在DataGridView
- DataTable.Select("条件")返回DataTable的解决方法
- 在DataTable中查询应该注意的问题 (DataTable.select)
- 在DataTable中实现DataTable.Select("Distinct")功能/数组的方式实现DataTable中的distinct
- DataTable执行Select后得到新的DataTable
- DataTable.Select
- datatable.select()
- DataTable Select
- 在DataTable中查找
- 在DataTable中查找
- 开通专栏的目的和意义丨专栏撰写方向
- O_DIRECT与O_SYNC区别
- caffe19 《深度学习--Caffe之经典模型详解与实战》笔记01 分类测试python调用
- 正则表达式从零开始学习系列(一)
- invalid character found in the request target the valid characters are defined in rfc 7230 and rfc
- 在DataTable中执行DataTable.Select("条件"),
- angular-页面跳转传递参数
- Java设计模式之观察者模式
- 时间日期格式转换
- mybatis常用注解
- java工程中 不同的xml起到不同的作用
- Java内存泄露原因详解
- 软件测试之测试用例制定
- Python基础入门(四)- Print语句