zoukankan      html  css  js  c++  java
  • 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;
     
    原文链接:
  • 相关阅读:
    vue简单总结
    浅拷贝 与递归实现深拷贝封装
    利用mock生成随机的东西
    你不知道的JavaScript--面向对象高级程序设计
    超实用的JavaScript代码段 --倒计时效果
    超实用的JavaScript代码段 Item4 --发送短信验证码
    WEB前端性能优化:HTML,CSS,JS和服务器端优化
    超实用的JavaScript代码段 Item8 -- js对象的(深)拷贝
    web开发必须知道的javascripat工具
    加快页面的运行速度
  • 原文地址:https://www.cnblogs.com/JavCof/p/3440679.html
Copyright © 2011-2022 走看看