首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# DataView 進階用法(四)— 通配符、父子關係引用與聚合函數完整指南

     編輯:關於C語言

通配符

LIKE 比較中 * 和 % 可互換作為通配符。

轉義規則

  • 字串含 * 或 % → 用 [] 轉義:[*]、[%]
  • 字串含 [] → 用 [] 轉義:[[]、[]]

允許位置

  • 模式開頭:'*product*'、'*product'
  • 模式結尾:'product*'
  • **不允許中間**:'te*xt' ❌

父/子關係引用

引用類型語法說明
父表欄位Parent.Price引用父表 Price 欄位
子表欄位Child.Price需在聚合函數中使用(子關係可返回多行)
多子表指定Child(RelationName).Column如 Child(Customers2Orders).Quantity

聚合函數

函數說明
Sum求和
Avg平均
Min最小值
Max最大值
Count計數
StDev統計標準差
Var統計方差

聚合使用範例


// 沿關係聚合
Avg(Child.Price)
Avg(Child(Orders2Details).Price)

// 單表聚合
Sum(Price)
Count(*)

RowFilter 綜合範例


// 模糊查詢
dv.RowFilter = "ProductName LIKE '*widget*'";

// 父子關係查詢
dv.RowFilter = "Parent.Category = 'Electronics'";

// 聚合條件
dv.RowFilter = "Sum(Child.OrderDetails.Quantity) > 100";

// 組合條件
dv.RowFilter = "Price > 100 AND Parent.Category = 'Electronics' AND Child(Orders2Details).Quantity > 10";

注意事項

  • RowFilter 語法與 SQL WHERE 子句高度相似但非完全相容
  • 大小寫敏感性取決於 DataTable.CaseSensitive 屬性
  • 複雜查詢效能不如資料庫引擎,大數據量建議下推至 DB
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved