C#中DataTable實(shí)現(xiàn)篩選查詢的示例
說(shuō)明:
DataTable進(jìn)行過(guò)濾篩選,常用的一些方法為:Select,dataview
1. 直接循環(huán)遍歷獲取
// 假設(shè)dt是由"SELECT C1,C2,C3 FROM T1"查詢出來(lái)的結(jié)果 DataTable dt = new DataTable(); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["C1"].ToString() == "abc")//查詢條件 { //進(jìn)行操作 } }
2. 使用LinQ
// DataTable.Select(條件[和Db的Sql篩選基本相似]) DataTable dt = new DataTable(); DataRow[] drArr = dt.Select(" C1='abc' ");?? ?//查詢 //DataTable.Select( "ID=" + id ) //多條件,如:DataTable.Select("ID=" + id +" and name=" +name) // 模糊篩選 DataRow[] drArr = dt.Select("C1 LIKE 'abc%'"); // 另一種模糊查詢的方法? DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC"); // 篩選后并排序 DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC"); // DataRow如何轉(zhuǎn)為DataTable呢? //?? ??? ?思路:DataRow賦值給新的DataTable DataTable dtNew = dt.Clone(); ? for (int i = 0; i < drArr.Length; i++) ? { ? ? ? dtNew.ImportRow(drArr[i]);? }
3. 利用DataView的RowFilter 實(shí)現(xiàn)篩選
DataTable dataSource = new DataTable(); DataView dv = dataSource.DefaultView; dv.RowFilter = "columnA = 'abc'"; //1.過(guò)濾后直接獲取DataTable DataTable newTable1 = dv.ToTable(); //2.設(shè)置新DataTable的TableName DataTable newTable2 = dv.ToTable("NewTableName"); //3.設(shè)置新表是否過(guò)濾重復(fù)項(xiàng),擁有的列的列名以及出現(xiàn)的順序 //即可以設(shè)置新表的字段。但是字段名肯定是老表dataSource中擁有的。 DataTable newTable3 = dv.ToTable(true, new string[] { "columnA,columnF,columnC" }); //4.綜合了2.3兩點(diǎn)。 DataTable newTable4 = dv.ToTable("NewTableName", true, new string[] { "columnA,columnF,columnC" });
到此這篇關(guān)于C#中DataTable實(shí)現(xiàn)篩選查詢的示例的文章就介紹到這了,更多相關(guān)C# DataTable篩選查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)高性能文件批量處理器的示例代碼
文件批量處理器可以用于數(shù)字資產(chǎn)管理,數(shù)據(jù)遷移工程,日志文件處理和安全審計(jì)場(chǎng)景,本文將使用C#開(kāi)發(fā)一個(gè)高性能文件批量處理器,希望對(duì)大家有所幫助2025-03-03C#中圖片.BYTE[]和base64string的轉(zhuǎn)換方法
下面小編就為大家?guī)?lái)一篇C#中圖片.BYTE[]和base64string的轉(zhuǎn)換方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02WinForm項(xiàng)目開(kāi)發(fā)中WebBrowser用法實(shí)例匯總
這篇文章主要介紹了WinForm項(xiàng)目開(kāi)發(fā)中WebBrowser用法,需要的朋友可以參考下2014-08-08C#調(diào)用Oracle存儲(chǔ)過(guò)程方法介紹(附源碼)
這篇文章介紹了C#調(diào)用Oracle存儲(chǔ)過(guò)程的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03C#使用StringBuilder實(shí)現(xiàn)高效處理字符串
這篇文章主要為大家詳細(xì)介紹了C#如何使用StringBuilder實(shí)現(xiàn)高效處理字符串,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01通過(guò)?C#/VB.NET?代碼將?Excel?工作表拆分為單獨(dú)的文件
這篇文章主要介紹了通過(guò)C#/VB.NET代碼將Excel工作表拆分為單獨(dú)的文件,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09