溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用C#中的DataTable實現(xiàn)篩選查詢

發(fā)布時間:2023-04-19 11:46:45 來源:億速云 閱讀:175 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“怎么使用C#中的DataTable實現(xiàn)篩選查詢”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用C#中的DataTable實現(xiàn)篩選查詢”吧!

說明:

DataTable進行過濾篩選,常用的一些方法為:Select,dataview

1. 直接循環(huán)遍歷獲取

//  假設dt是由"SELECT C1,C2,C3 FROM T1"查詢出來的結果 
DataTable dt = new DataTable();
for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    if (dt.Rows[i]["C1"].ToString() == "abc")//查詢條件 
    { 
        //進行操作 
    } 
}

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如何轉為DataTable呢?
//        思路:DataRow賦值給新的DataTable
DataTable dtNew = dt.Clone();  
for (int i = 0; i < drArr.Length; i++)  
{  
    dtNew.ImportRow(drArr[i]); 
}

3. 利用DataView的RowFilter 實現(xiàn)篩選

DataTable dataSource = new DataTable(); 
DataView dv = dataSource.DefaultView; 
dv.RowFilter = "columnA = 'abc'"; 
//1.過濾后直接獲取DataTable 
DataTable newTable1 = dv.ToTable(); 
//2.設置新DataTable的TableName 
DataTable newTable2 = dv.ToTable("NewTableName"); 
//3.設置新表是否過濾重復項,擁有的列的列名以及出現(xiàn)的順序 
//即可以設置新表的字段。但是字段名肯定是老表dataSource中擁有的。 
DataTable newTable3 = 
dv.ToTable(true, new string[] { "columnA,columnF,columnC" }); 
//4.綜合了2.3兩點。 
DataTable newTable4 = 
dv.ToTable("NewTableName", true, new string[] { "columnA,columnF,columnC" });

感謝各位的閱讀,以上就是“怎么使用C#中的DataTable實現(xiàn)篩選查詢”的內容了,經過本文的學習后,相信大家對怎么使用C#中的DataTable實現(xiàn)篩選查詢這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI