C# DataTable.Select() 篩選資料

來源:互聯網
上載者:User

標籤:

有時候我們需要對資料表進行篩選,微軟為我們封裝了一個公用方法, DataTable.Select(),其用法如下:

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)——擷取與排序次序中的篩選器以及指定的狀態相匹配的所有。

 

舉例說明:

有一個使用者表,名稱為 dtUsers,有id、姓名name、性別sex、年齡age

1.篩選所有的使用者  

         DataRow[] drs1 =dtUsers.Select();

2.篩選所有性別為男的使用者

         DataRow[] drs2 =dtUsers.Select("sex = ‘男‘ ");

3.篩選所有性別為男且年齡在18歲以上的使用者

         DataRow[] drs3 =dtUsers.Select("sex = ‘男‘ and age >= 18");

4.篩選所有性別為男或者年齡在18歲以上的使用者

         DataRow[] drs4 =dtUsers.Select("sex = ‘男‘ or age >= 18");

5.篩選所有姓“夏”的使用者

         DataRow[] drs5 =dtUsers.Select("name like ‘夏%‘");

6.篩選所有18歲以上的使用者且按從大到小的順序排序

         DataRow[] drs5 =dtUsers.Select("age >=18","age desc");

7.上面最後一種用法沒試過,有機會再列舉出來。


注意事項:上面的Select操作是不區分大小寫(表欄位不敏感,如pl-sql文法),如果需要區分大小寫,需要將DataTable的caseSensitive屬性設為true,例如上表的

dtUsers.CaseSensitive = true;//區分大小寫

C# DataTable.Select() 篩選資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.