SqlPager最终版:使用存储过程进行分页

来源:互联网 发布:淘宝查关键词排名工具 编辑:程序博客网 时间:2024/06/13 08:41
   前面已经写了很多篇关于SqlPager的文章了,对于Sqlpager本身我就不再多说了!这次算是我对SqlPager的最后改进了吧!

主要的改进是在上一次修改了其样式表指定和数字分页的基础上进行的,主要修改的地方是分页的方式,原来一直是使用的select top 的分页,现在我改为了使用SQL存储过程分页了!主要是在使用原来那种分页方式的时候遇到了很多问题,最突出的一个问题就是无法使用飞关键字段排序,所以这次我对其进行了这个修改,相信通过这次的修改已经基本能够满足一般的需求了!

在此我就不用贴出可具体的代码了,代码的会作为附件供需要使用的人下载!在此我只说明一些要注意的地方。在此我在此写出调用的方法,因为和以前比有点变动。
用于数据绑定的方法:
1/**/<summary>
2 /// 绑定SqlPager2数据 存储过程的分页
3 /// </summary>
4 public void BindSqlPager2(
5 LJHSqlPager2.SqlPager sqlPager,
6 LJHSqlPager2.SortMode sort,
7 string sortfied,
8 string FieldKey,
9 string ConnectString,
10 string ControlName,
11 string CommandText,
12 string TableName,
13 string Fields,
14 string SqlCondition)
15 {
16 sqlPager.ConnectionString=ConnectString;
17 sqlPager.ControlToPaginate=ControlName;
18 sqlPager.SelectCommand=CommandText;
19 sqlPager.SortMode=sort;
20 sqlPager.FieldKey=FieldKey;
21 sqlPager.SortField=sortfied;
22 sqlPager.TableName=TableName;
23 sqlPager.Fields=Fields;
24 sqlPager.SQLCondition=SqlCondition;
25 sqlPager.DataBind();
27 }
  对此方法说明一点:(在调用方法的时候)
  this.BindSqlPager2(this.SqlPager1,LJHSqlPager2.SortMode.DESC,this.GetOrderField(),"ListID",this.GetDbConnecString(),"dgComments",SQL,"("+SQL+")","*","ListID>0"); 这里的SQL也就是 上面方法中的TableName参数,因为有时候我们的SQL比较复杂,所以表可能是一个比较复杂的SQL语句;如果只是一张表的查询,那么那里就知用写表名就可以了!