Datatable的Select()方法简介

来源:互联网 发布:免费crm系统源码下载 编辑:程序博客网 时间:2024/04/28 02:26

DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是

 

Select()

Select(string filterExpression)

Select(string filterExpression, string sort)

Select(string filterExpression,stringsort, 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 对象的数组。

 

下面是对这些方法进行演示的示例:

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

 

namespace TestDataTableSelect

{

    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);

            }

 

            Select();

            Select("id>='3' and name='3--hello'");//支持and

            Select("id>='3' or id='1'");//支持or

            Select("name like '%hello%'");//支持like   

            Select("id>5","id desc");

            Select("id>5", "id desc",DataViewRowState.Added);

        }

 

        private static void Select()

        {

            DataRow[] arrayDR = dt.Select();

            foreach(DataRow drin arrayDR)

            {

                Console.WriteLine(dr[0].ToString()+"   "+dr[1].ToString());

            }

            Console.ReadLine();

        }

 

        private static void Select(string filterExpression)

        {

            DataRow[] arrayDR = dt.Select(filterExpression);

            foreach (DataRow drin arrayDR)

            {

                Console.WriteLine(dr[0].ToString() +"    " + dr[1].ToString());

            }

            Console.ReadLine();

        }

 

        private static void Select(string filterExpression,string sort)

        {

            DataRow[] arrayDR = dt.Select(filterExpression,sort);

            foreach (DataRow drin arrayDR)

            {

                Console.WriteLine(dr[0].ToString() +"    " + dr[1].ToString());

            }

            Console.ReadLine();

        }

 

        private static void Select(string filterExpression,string sort, DataViewRowState recordStates)

        {

            DataRow[] arrayDR = dt.Select(filterExpression, sort,recordStates);

            foreach (DataRow drin arrayDR)

            {

                Console.WriteLine(dr[0].ToString() +"    " + dr[1].ToString());

            }

            Console.ReadLine();

        }

    }

}

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

转载自:http://blog.csdn.net/lubiaopan/article/details/5880220  谢谢分享!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 三个月宝宝睡前哭闹厉害怎么办 新生儿抱着睡放下就醒怎么办 宝宝大运动发育迟缓怎么办 八个月宝宝不会爬怎么办 宝宝竖着抱早了怎么办 孕妇吃的水果少怎么办 6个月宝宝厌奶怎么办 5个月宝宝厌奶怎么办 11个月宝宝厌奶怎么办 母乳宝宝不喝奶粉怎么办 换奶粉不拉大便怎么办 宝宝和妈妈不亲怎么办 冬天榨果汁太凉怎么办 四个月宝宝拉水怎么办 婴儿吃奶吃撑了怎么办 1岁的宝宝腹泻怎么办 一岁宝宝老拉肚子怎么办 一岁宝宝拉肚子怎么办啊 小孩发烧怎么办39度要吃消炎药吗 孩子不爱吃水果蔬菜怎么办 一岁宝宝不吃水果怎么办 一岁宝宝不爱吃水果怎么办 1岁多宝宝不吃水果怎么办 中学生不爱与家长交流怎么办 孩子一直37度多怎么办 小孩39度3算高烧怎么办 7岁发烧怎么办如何退烧 7岁反复发烧7天怎么办 一岁发烧39.8度怎么办 反复发烧39度4天怎么办 大人发烧到39度怎么办 小孩高烧39度多怎么办 孩子嗓子发炎发烧怎么办吃什么药 猫咪吃了点桃子怎么办 猫吃了牛油果怎么办 苹果手机死机开不了机怎么办 新生儿出生第一天没奶水怎么办 第一天断奶奶水一直流出怎么办 3岁宝宝不长个子怎么办 5个月宝宝不长个怎么办 孩子比同龄人矮很多怎么办