博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对DataTable数据进行查询过滤
阅读量:6137 次
发布时间:2019-06-21

本文共 1518 字,大约阅读时间需要 5 分钟。

          //对DataTable数据进行查询过滤并返回DataTable

        //1、DataTable.Select(where);

        //2、DataView.RowFilter
        //3、Linq

        #region 创建一个表dt,并给其添加6行数据

        DataTable dt = new DataTable();
        dt.Columns.Add("ID", typeof(System.Int32));
        dt.Columns.Add("Name", typeof(System.String));
        dt.Columns.Add("Address", typeof(System.String));
        DataRow row1 = dt.NewRow();
        row1[0] = 1;
        row1[1] = "AdminAdmin";
        row1[2] = "Test";
        dt.Rows.Add(row1);
        DataRow row2 = dt.NewRow();
        row2[0] = 2;
        row2[1] = "AdmioknA";
        row2[2] = "Test";
        dt.Rows.Add(row2);
        DataRow row3 = dt.NewRow();
        row3[0] = 3;
        row3[1] = "AdminjunjieAdmin";
        row3[2] = "Test";
        dt.Rows.Add(row3);
        DataRow row4 = dt.NewRow();
        row4[0] = 4;
        row4[1] = "Admokin";
        row4[2] = "Test";
        dt.Rows.Add(row4);
        DataRow row5 = dt.NewRow();
        row5[0] = 5;
        row5[1] = "AdminAokdmijunjien";
        row5[2] = "Test";
        dt.Rows.Add(row5);
        DataRow row6 = dt.NewRow();
        row6[0] = 6;
        row6[1] = "Admin";
        row6[2] = "Test";
        dt.Rows.Add(row6);
#endregion

        //1、使用DataTable.Select(where);

        var newtable1 = dt.Clone();//把源表的结构给新表
        foreach (DataRow row in dt.Select("Name like '%ok%'"))
        {
            newtable1.ImportRow(row);
        }

        //2、使用DataView.RowFilter

        DataView dv = dt.DefaultView; ;
        dv.RowFilter = "Name like '%ok%'";
        var newdatatable2 = dv.ToTable();

        //3、使用linq

        var newtable3 = (from datarow in dt.AsEnumerable() where datarow.Field<string>("Name").IndexOf("ok") > -1 select datarow).CopyToDataTable();

        //如果数据量小,DataTable.Select()与DataView.RowFilter没有什么大的区别。如果数据量大,用DataView.RowFilter则比较快。linq不太了解

转载于:https://www.cnblogs.com/OnlyDreams/archive/2012/03/20/2408246.html

你可能感兴趣的文章
洛谷——P1596 [USACO10OCT]湖计数Lake Counting
查看>>
智力大冲浪
查看>>
JSONP实现跨域
查看>>
虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
查看>>
POJ3694 Network
查看>>
微信小程序开发-框架
查看>>
redo、undo、binlog的区别
查看>>
DropDownList 控制日期控件显示格式
查看>>
RecycleView设置顶部分割线(记录一个坑)
查看>>
【设计模式系列】单例模式的7种写法
查看>>
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
Jenkins持续集成环境部署
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>