Asp.net 分页笔记

数据库代码:

Code:
  1. alter proc Page   
  2. (   
  3.  @size int ,   --每页数量   
  4.  @index int ,   --第几页   
  5.  @countPage int output--总页数    
  6.  @count int output  --总记录数   
  7. )   
  8.   
  9. as  
  10. declare @sql varchar(1000)   
  11. select @count=count(*) from student   
  12.   
  13. if @count%@size =0   
  14. begin  
  15.  set @countPage=@count/@size  
  16. end  
  17. else  
  18. begin  
  19.  set @countPage=@count/@size+1   
  20. end  
  21.   
  22.   
  23. if @index=1   
  24. begin  
  25.  set @sql='select top '+str(@size)+' * from student'    
  26. end  
  27. else  
  28. begin  
  29.   
  30.  set @sql='select top '+str(@size)+' * from student where s_id >   
  31.    (   
  32.    select max(s_id) from student where s_id in    
  33.    (   
  34.    select '+str((@index-1)*@size)+' s_id from student   
  35.    )   
  36.    )'   
  37. end  
  38. exec (@sql)   
  39.   
  40. exec Page 5,8,0,0   

 

分页方法

Code:
  1. public string page(int index)   
  2.         {   
  3.             int SIZE = 10;   
  4.             int COUNTPAGE = 0;   
  5.             int COUNT = 0;   
  6.             string sql = "Page";   
  7.             SqlParameter[] paramerter = new SqlParameter[4];   
  8.             paramerter[0] = new SqlParameter("@size",SIZE);   
  9.             paramerter[1] = new SqlParameter("@index",index);   
  10.             paramerter[2] = new SqlParameter("@countPage",COUNTPAGE);   
  11.             paramerter[3] = new SqlParameter("@count",COUNT);   
  12.             paramerter[2].Direction = ParameterDirection.Output;   
  13.             paramerter[3].Direction = ParameterDirection.Output;   
  14.   
  15.             DataTable dt = SQLHelp.ExecuteData(sql, paramerter, true).Tables[0];   
  16.             int countPage = Convert.ToInt32(paramerter[2].Value);   
  17.             int count = Convert.ToInt32(paramerter[3].Value);   
  18.                
  19.             System.Text.StringBuilder sbTable = new System.Text.StringBuilder();   
  20.             sbTable.Append("<table style='width:50%;border:solid 1px black;'>");   
  21.             sbTable.Append("<tr><td>学号</td><td>姓名</td><td>性别</td></tr>");   
  22.             foreach (DataRow row in dt.Rows)   
  23.             {   
  24.                 sbTable.Append("<tr>");   
  25.                 sbTable.AppendFormat("<td>{0}</td>", row["s_id"]);   
  26.                 sbTable.AppendFormat("<td>{0}</td>", row["s_name"]);   
  27.                 sbTable.AppendFormat("<td>{0}</td>", row["s_sex"]);   
  28.                 sbTable.Append("</tr>");   
  29.             }   
  30.             sbTable.Append("</table><br/>");   
  31.             sbTable.AppendFormat("总记录数为{0}",COUNT);   
  32.             sbTable.AppendFormat("现在是第{0}/{1}",index,countPage);   
  33.             sbTable.AppendFormat("<a href='#' onclick=/"aclick('{0}')/">首页</a>", 1);   
  34.             sbTable.AppendFormat("<a href='#' onclick=/"aclick('{0}')/">上页</a>", (index == 1) ? 1 : index - 1);   
  35.             sbTable.AppendFormat("<a href='#' onclick=/"aclick('{0}')/">下页</a>", (index ==COUNT) ? COUNT : index + 1);   
  36.             sbTable.AppendFormat("<a href='#' onclick=/"aclick('{0}')/">尾页</a>", countPage);   
  37.   
  38.             return sbTable.ToString();   
  39.         }   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值