博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Datatable中Select()方法的使用(转)
阅读量:5131 次
发布时间:2019-06-13

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

微软提供了四个函数的重载,分别是

Select()

Select(string filterExpression)

Select(string filterExpression, string sort)

Select(string filterExpression,string sort, DataViewRowState record States)

1)  Select()——获取所有 System.Data.DataRow 对象的数组。

2)  Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。

3)  Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有System.Data.DataRow 对象的数组。

4)  Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。

示例:

private class Program        {            static DataTable dt = new DataTable();            static void Main(string[] args)            {                DataColumn dc1 = new DataColumn("id");                dc1.DataType = typeof(int);                DataColumn dc2 = new DataColumn("name");                dc2.DataType = typeof(System.String);                dt.Columns.Add(dc1);                dt.Columns.Add(dc2);                for (int i = 1; i <= 10; i++)                {                    DataRow dr = dt.NewRow();                    if (i <= 5)                    {                        dr[0] = i;                        dr[1] = i + "--" + "hello";                    }                    else                    {                        dr[0] = i;                        dr[1] = i + "--" + "nihao";                    }                    dt.Rows.Add(dr);                }                DataRow[] row;//定义一个DataRow的集合                //重载1 Select()                //获取所有 System.Data.DataRow 对象的数组。                row = dt.Select();                //重载2Select(string filterExpression);                //按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。                row = dt.Select("id>='3' and name='3--hello'");//支持and                row = dt.Select("id>='3' or id='1'");//支持or                row = dt.Select("name like '%hello%'");//支持like                  //重载3  Select(string filterExpression, string sort)                //获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。                row = dt.Select("id>5", "id desc");                //重载4  Select(string filterExpression, string sort, DataViewRowState recordStates)                //获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。                row = dt.Select("id>5", "id desc", DataViewRowState.Added);            }        }
private static void Select()        {            DataTable dt = new DataTable();            DataRow[] arrayDR = dt.Select();            foreach (DataRow dr in arrayDR)            {                Console.WriteLine(dr[0].ToString() + "    " + dr[1].ToString());            }            Console.ReadLine();        }
private static void Select(string filterExpression)        {            DataTable dt = new DataTable();//请自行赋值            DataRow[] arrayDR = dt.Select(filterExpression);            foreach (DataRow dr in arrayDR)            {                Console.WriteLine(dr[0].ToString() + "    " + dr[1].ToString());            }            Console.ReadLine();        }
private static void Select(string filterExpression, string sort)        {            DataTable dt = new DataTable();//请自行赋值            DataRow[] arrayDR = dt.Select(filterExpression, sort);            foreach (DataRow dr in arrayDR)            {                Console.WriteLine(dr[0].ToString() + "    " + dr[1].ToString());            }            Console.ReadLine();        }
private static void Select(string filterExpression, string sort, DataViewRowState recordStates)        {            DataTable dt = new DataTable();//请自行赋值            DataRow[] arrayDR = dt.Select(filterExpression, sort, recordStates);            foreach (DataRow dr in arrayDR)            {                Console.WriteLine(dr[0].ToString() + "    " + dr[1].ToString());            }            Console.ReadLine();        }

注意事项:上面的Select操作是大小写不敏感的(记录的字段不敏感),如果需要区分大小写,需要将DataTable的caseSensitive属性设为true。

转载于:https://www.cnblogs.com/zhizhuo-1991/p/5593185.html

你可能感兴趣的文章
代码整洁之道
查看>>
SpringMvc @RequestMapping原理
查看>>
RHEL 6.3 详细安装教程
查看>>
StringBuilder使用方法
查看>>
Linux Namespace
查看>>
程序员编程10大原则,请牢牢记住
查看>>
堆(Heap)详解——Java实现
查看>>
[原创]IBM AppScan工具培训
查看>>
时间格式转换 json 转 datetime js c#
查看>>
jackson 实体转json 为NULL或者为空不参加序列化
查看>>
range
查看>>
nth-child的用法
查看>>
python3 第三十二章 - 标准库概览
查看>>
在xib里,拖一个UIView到UITableView中作为tableHeaderView
查看>>
隐藏php,apache版本号
查看>>
hbase优化小结
查看>>
linux 远程批量分发脚本
查看>>
维护建议--文件和文件组
查看>>
nginx配置正向代理支持HTTPS
查看>>
The order of a Tree
查看>>