Welcome 微信登录

首页 / 网页编程 / ASP.NET / 分页解决方案之GridView+QuickPager+QuickPager_SQL+DataAccessLibrary+数据

分页解决方案之GridView+QuickPager+QuickPager_SQL+DataAccessLibrary+数据2011-03-19 博客园 金色海洋分页解决方案之GridView+QuickPager+QuickPager_SQL+DataAccessLibrary+数据库

这里要说的不仅仅是一个分页控件,而是一套解决方案,包括如何显示数据、显示分页导航,如何得到分页用的sql语句(等效于存储过程),如何提取数据,如何绑定控件,如何响应事件,添加、修改、删除数据后如何更新,如何查询数据等等。一整套完整的解决方案。

这个方案要有几个特点:

1、支持多种数据库,可以提供多个分页算法以便于支持多种数据库。

2、可以在不同的要求下选用最优的分页算法。比如如果只需要按照主键排序,那么选择Max分页算法无疑是最快的一种分页算法。

3、按需所取。不管是哪一种分页算法,都要达到按需所取。假设一页显示20条记录,那么从数据库里面最多只提取20条记录,不可以多取一条。

4、使用简单。无论是更换分页算法,更换数据库,还是处理分页的事件,都是很简单的几行代码即可搞定。

5、很方便的实现数据查询的功能。查询后显示数据,查询后修改、删除数据,修改、删除后重新显示数据等。

6、每一个部分都可以替换。

7、支持海量数据。无论数据多还是少,都要适合,而且要尽量快。

分页解决方案的组成部分

显示数据的控件、分页控件、分页算法、数据访问函数库、数据库

如:GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + SQL Server2000

1、显示数据的控件可以是GridView、DetailsView、FormView、Repeater、DataGrid、DataList、CheckBoxList、RadioButtonList等。(控件的继承关系可以看这里http://www.cnblogs.com/jyk/archive/2009/04/29/1446033.html 这是.net 里面带的几个常用控件的继承树)。也可以支持直接返回DataTable等记录集。

2、分页控件,可以是QuickPager也可以是吴旗娃的分页控件,也可以是EasyTools等其他的分页控件。

3、分页算法目前还没有发现同类的,硬要算的话,储存过程有一点点类似。

QuickPager_SQL 原来是QuickPager里面的一部分,现在独立出来,可以单独使用了。

4、数据访问函数库可以换成SQLHelp、微软的企业库等,当然需要其他的实现一个接口(IDALforPager)。

5、数据库可以是Access、Excel、SQL Server,理论上也支持Orcale、MySQL等,只是没有安装这些数据库,所以还没有具体实现。

(至于ORM嘛,不是太了解,不知道能不能和哪个部分替换。)

各个部分之间的关系

1、QuickPager与QuickPager_SQL

这个就像SqlCommand和SqlConnection的关系一样。

SqlConnection cn = new SqlConnection();
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.Connection.Open();

同样,QuickPager 里面一个一个成员的类型就是PagerSQL(也就是QuickPager_SQL)。