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

C# DataView 核心應用(一)— 解決本地 DataTable 無法用 SQL 查詢的痛點

     編輯:關於C語言

痛點場景

  • DataTable 非來自資料庫
  • DataTable 尚未寫入資料庫
  • 從資料庫讀出後本地修改,未同步回資料庫

此時 SQL 語言無法直接查詢,許多開發者採用建立暫存表等繞路方案。

最佳解法:DataView.RowFilter

.NET 類庫內建 DataView 類別,其 RowFilter 屬性提供強大查詢功能,**無需 SQL、無需資料庫連線、純記憶體操作**。

完整建表代碼


private DataTable MakeTable()
{
    DataTable dt = new DataTable("本地數據表");
    
    // ID 欄位
    DataColumn col = new DataColumn("ID", typeof(int))
    {
        ReadOnly = true,
        Unique = true
    };
    dt.Columns.Add(col);

    // 商品名稱
    dt.Columns.Add("商品名稱", typeof(string));

    // 商品價格
    dt.Columns.Add("商品價格", typeof(decimal));

    // 測試資料
    dt.Rows.Add(1, "足球", 57.5m);
    dt.Rows.Add(2, "籃球", 64.5m);
    dt.Rows.Add(3, "網球", 6.5m);
    dt.Rows.Add(4, "網球拍", 388.5m);

    return dt;
}

後續應用預告

  • 將 DataTable 存入 Session
  • 建立 DataView 並設定 RowFilter
  • 綁定 DataGrid 顯示篩選結果
  • 實作模糊查詢、區間篩選、父子關係查詢、聚合條件等

為什麼不建議暫存表方案

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
暫存表方案DataView 方案
需資料庫連線與權限純記憶體,零依賴
建表/寫入/查詢/刪表多步驟一行 RowFilter 完成
效能開銷大極快,適合高頻查詢
併發需鎖表管理線程安全(單執行緒場景)