ADO.NET减少与数据源的频繁连接

    在ADO.NET编程中,频繁的数据源连接与断开将影响程序的性能。DataSet作为内存中的表的集合,拥有许多和SQL相似的操作方法。合理使用它们可以使来自同一个数据源但有多种不同用途的数据只和数据源有一次连接。


一、DataTable的Select()方法
    DataTable提供了一个有用的方法Select(),它可以使用SQL表达式查找某行。Select()方法使用的表达式和SELECT语句的WHERE子句的作用是一样的。其依据是DataTable中已经存在的内存数据。例如:
DataRow[] matchRows=ds.Tables["Products"].Select("Discontinued=0");


二、DataView类
    DataView为DataTable对象定义了一个视图——换句话说,是DataTable中支持自定义过滤和排序设置的数据的一个表现。DataView提供了Sort属性和RowFilter属性来允许你配置这些设置。借助这些属性,你可以选择视图中可见的数据。不过,它们并不会影响DataTable里的真实数据。
    以DataTable为控件的数据源时,是由默认的DataTable.DefaultView属性提供。
    Sort:一个字符串,它包含列名,后跟“ASC”(升序)或“DESC”(降序)。在默认情况下列按升序排序。多个列可用逗号隔开。例如:
view2.Sort="LastName,FirstName";


    RowFilter:用于指定行的筛选方式的字符串。和SQL查询中WHERE子句的功能类似。例如:
view2.RowFilter="InStock = 0 AND OnOrder = 0";

使用以上方法,对一张表只需查询一次便可以自由的使用其中数据而无需再次查询数据库。

(参考文献:《ASP.NET高级程序设计(第4版)》)

原文地址:https://www.cnblogs.com/chaoslee/p/3293465.html