首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> 资讯动态 >> 正文

脱机数据的排序、搜索和筛选

        1. DataTable类的搜索和筛选功能

        根据主键值查找行

        DataRowCollection类的Find方法,接受包含要查找行的主键值为参数,因为是根据主键值查找,所以仅返回一个DataRow。

         DataTable tbl=new DataTable(“Customers”);
        da.Fill(tbl);
        tbl.PrimaryKey=new DataColumn[] {tbl.Columns[“CustomerID”]};
        DataRow row=tbl.Rows.Find(“ALFKI”);
        if((row<>null)
        consol.WriteLine(…);

        如果主键为复合键,则应将一个对象数组传递给Find方法,其中数组中的项对应于包含该主键的DataColumn。

         tbl.PrimaryKey=new DataColumn[] {tbl.Columns[“OrderID”],
        tbl.Columns[“ProductID”]};
        Object[] objCriteria=new object[] {10643,28}; //object对象数组
        DataRow row=tbl.Rows.Find(objCriteria);

        执行动态的复杂搜索-Select方法

        DataTable类的Select方法接受类似于SQL查询中的Where条件语句为参数,返回DataRowCollection对象。

         DataTable tbl=new DataTable(“Customers”);
        da.Fill(tbl);
        sting strFilter;
        strFilter=”Country=’USA’ and City <>’Seattle’”;
        foreach(DataRow row in tbl.Select(strFilter))
        Consol.WriteLine(…);

        Select方法的参数字符串接受使用*或%作为通配符进行模糊查询,例如”State like ‘New%’”查找State字段以”New”开头的数据行。另外如果搜索字符串中涉及日期,其值用双#包含而不使用双单引号。

        重载的Select 方法可包含第二个参数,控制搜索结果行的排序顺序。

        strSortOrder=”City DESC” ;//搜索结果按City字段降序排列

        tbl.Select(strFilter,strSortOrder);

        重载的Select方法亦可包含第三个参数,指定DataViewRowState枚举的一个值,控制Select方法仅搜索指定状态的DataRow。

        DataViewRowState dvrs=DataViewRowState.ModifiedCurrent;

        tbl.Select(“”,””,dvrs);//前二个参数为空,仅使用第三个参数

        2. DataView对象

        DataTable对象的Select方法功能强大,但执行效率不高,而且Windows和Web窗体不支持绑定Select方法的返回值-DataRow对象数组。DataView对象解决了以上两点不足。DataView对象不维护自己的数据附本,当通过DataView访问数据时,它将返回存储在相应DataTable中的数据。

        创建DataView对象

        DataView对象必需与DataTable对象相关联,以下几种构造函数可以创建DataTable对象并与DataTable相关联。

         DataTable tbl=new DataTable(“MyTable”);
        DataView vue;
        vue=new DataView();
        vue.Table=tbl;
        或 vue=new DataView(tbl);

[1] [2] 下一页

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航