ADO.NET 快速入門(十):過濾資料
我們有很多方法來過濾資料。一種是在資料庫命令級別,利用 where 子句查詢過濾資料。另一種是在資料填充到 DataSet 以後過濾資料。本篇討論後者。
一旦資料填充到 DataSet,你可以使用 DataSet 的方法獲取一個資料子集。
1、使用 Select 方法過濾
設想一下 DataSet 填充了 Customers 和 Orders 兩個表。你可以使用 Select 方法返回一組行,為名叫 Kelly 的 Customers 過濾資料。
myRowArray = dsCustomers.Select("ContactName like 'Kelly%'");
注意,這個語句和 ANSI-SQL 類似。從本質上講,他們是 ANSI-SQL 的子集,下列區別:因為 DataSet 可以儲存多張關聯表,所以過濾器也可以過濾這些關聯表。下例中,使用 Child 關鍵字過濾 Orders 和 Customers。
myRowArray = dsCustomers.Select("ContactName like 'Kelly%' AND [child].OrderDate = '7/26/68'");
Select 函式返回行陣列,你可以通過 foreach 語句迭代這個陣列。
2、使用 DataViews 過濾和排序
使用 DataView 物件,你可以在 DataSet 上設定多個過濾器,建立對他們的繫結,等等。DataView 可以使用 Select 中同樣的查詢語法規則過濾資料。但是過濾器是動態的。如果新增一行資料,並且滿足過濾要求,那麼對 View 可見。Views 可以排序和過濾。過濾器包括 Data 過濾器和 Version 過濾器(Current、New、Modified、Deleted)。可以通過 DataSet 內部的 DataTable 建立一個DataView 物件。
DataView myDataView = new DataView(myDataSet.Tables["Customers"]);
你可以使用上例中 Select 方法同樣的查詢過濾語法,在 RowFilter 屬性上設定一個過濾器。設定排序,使用逗號分隔的排序列,其次是 ASC(預設和可選)或者 DESC 用於升序和降序。
// 基於 CustomerID 列排序 myDataView.Sort = "CustomerID"; // 篩選 CustomerID 為 ALFKI 的行 myDataView.RowFilter = "CustomerID = 'ALFKI'";
你也可以基於行的狀態進行過濾(Deleted,New,等等)。下例演示了過濾 Deleted 狀態行。
myDataView.RowStateFilter = DataViewRowState.Deleted;
相關文章
- C#快速入門教程(28)—— ADO.NETC#
- C#快速入門教程(29)—— ADO.NET離線元件與資料繫結C#元件
- Flask入門資料庫的查詢集與過濾器(十一)Flask資料庫過濾器
- ADO.NET入門教程之資料庫連線池資料庫
- [大資料之Spark]——快速入門大資料Spark
- Spring Cloud Gateway ---GatewayFilter過濾器、過濾器工廠(入門)SpringCloudGatewayFilter過濾器
- 協同過濾演算法——入門演算法
- mysql資料過濾MySql
- 十分鐘快速入門 PythonPython
- ADO.NET入門教程之Command物件與資料檢索物件
- Redis快取資料庫-快速入門Redis快取資料庫
- Qt入門(8)——事件和事件過濾器QT事件過濾器
- [MYSQL -7]資料過濾MySql
- 【TVM 學習資料】TensorIR 快速入門
- Elasticsearch和向量資料庫的快速入門Elasticsearch資料庫
- vue 基礎入門筆記 07:過濾器Vue筆記過濾器
- 《MySQL 入門教程》第 08 篇 過濾條件MySql
- Flutter 基礎(十)佈局 Widget 快速入門Flutter
- "Flutter基礎(十)佈局Widget快速入門Flutter
- 快速入門:十分鐘學會PythonPython
- 幾十種程式語言的快速入門教程
- Flex 3快速入門: 處理資料 使用資料繫結Flex
- [MYSQL-6] 過濾資料MySql
- 用Tcpdump過濾資料包TCP
- 使用MySQL之過濾資料MySql
- 快速入門資料結構和演算法資料結構演算法
- 快速入門大資料訊息中介軟體大資料
- ADO.NET入門學習備忘
- vue從入門到進階:過濾器filters(五)Vue過濾器Filter
- HDFS+MapReduce+Hive+HBase十分鐘快速入門Hive
- 快速排序快速入門排序
- Lambda表示式where過濾資料
- TableStore實時資料通道服務GoSDK快速入門Go
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- C#快速入門教程(7)——資料型別概述C#資料型別
- 快速入門MXBoard:MXNet資料視覺化工具視覺化
- Arduino Yun快速入門教程(大學霸內部資料)UI
- Swift教程Swift語言快速入門(內部資料)Swift