C#中DataTable實(shí)現(xiàn)篩選查詢(xún)的示例
說(shuō)明:
DataTable進(jìn)行過(guò)濾篩選,常用的一些方法為:Select,dataview
1. 直接循環(huán)遍歷獲取
// 假設(shè)dt是由"SELECT C1,C2,C3 FROM T1"查詢(xún)出來(lái)的結(jié)果 DataTable dt = new DataTable(); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["C1"].ToString() == "abc")//查詢(xún)條件 { //進(jìn)行操作 } }
2. 使用LinQ
// DataTable.Select(條件[和Db的Sql篩選基本相似]) DataTable dt = new DataTable(); DataRow[] drArr = dt.Select(" C1='abc' ");?? ?//查詢(xún) //DataTable.Select( "ID=" + id ) //多條件,如:DataTable.Select("ID=" + id +" and name=" +name) // 模糊篩選 DataRow[] drArr = dt.Select("C1 LIKE 'abc%'"); // 另一種模糊查詢(xún)的方法? 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)篩選查詢(xún)的示例的文章就介紹到這了,更多相關(guān)C# DataTable篩選查詢(xún)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#使用LINQ查詢(xún)表達(dá)式的基本子句總結(jié)
這篇文章主要介紹了C#使用LINQ查詢(xún)表達(dá)式的基本子句總結(jié),在C#程序中我們可以使用LINQ基本查詢(xún)表達(dá)式模式來(lái)查詢(xún)和轉(zhuǎn)換SQL數(shù)據(jù)庫(kù)、ADO.NET數(shù)據(jù)集、XML文檔和流以及.NET集合中的數(shù)據(jù),需要的朋友可以參考下2016-03-03C#調(diào)用AForge實(shí)現(xiàn)攝像頭錄像的示例代碼
這篇文章主要介紹了C#調(diào)用AForge實(shí)現(xiàn)攝像頭錄像的示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09C#使用后臺(tái)線(xiàn)程BackgroundWorker處理任務(wù)的總結(jié)
這篇文章主要介紹了C#使用后臺(tái)線(xiàn)程BackgroundWorker處理任務(wù)的總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07C# 參考之訪(fǎng)問(wèn)關(guān)鍵字:base、this
由于靜態(tài)成員函數(shù)存在于類(lèi)一級(jí),并且不是對(duì)象的一部分,因此沒(méi)有 this 指針。在靜態(tài)方法中引用 this 是錯(cuò)誤的。 索引器允許類(lèi)或結(jié)構(gòu)的實(shí)例按照與數(shù)組相同的方式進(jìn)行索引。索引器類(lèi)似于屬性,不同之處在于它們的訪(fǎng)問(wèn)器采用參數(shù)。2008-03-03Visual Studio 2019配置vue項(xiàng)目的圖文教程詳解
這篇文章主要介紹了Visual Studio 2019配置vue項(xiàng)目的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03C# 創(chuàng)建文本文件寫(xiě)入讀取實(shí)現(xiàn)代碼
C# 創(chuàng)建文本文件寫(xiě)入讀取,可以用來(lái)做系統(tǒng)日志或程序操作日志或者錯(cuò)誤記錄,需要的朋友可以參考下。2011-11-11C#提示:“在證書(shū)存儲(chǔ)區(qū)中找不到清單簽名證書(shū)”的解決方法
這篇文章主要介紹了C#提示:“在證書(shū)存儲(chǔ)區(qū)中找不到清單簽名證書(shū)”的解決方法,分析了幾種常見(jiàn)的解決方案供大家選擇使用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01Unity UGUI的ContentSizeFitter內(nèi)容尺寸適應(yīng)器組件使用示例
這篇文章主要為大家介紹了Unity UGUI的ContentSizeFitter內(nèi)容尺寸適應(yīng)器組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08